29 lines
1.0 KiB
C#
29 lines
1.0 KiB
C#
using System.Net;
|
|
using System.Security.Claims;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AMWD.Common.AspNetCore.Security.BasicAuthentication
|
|
{
|
|
/// <summary>
|
|
/// Interface representing the validation of a basic authentication.
|
|
/// </summary>
|
|
public interface IBasicAuthenticationValidator
|
|
{
|
|
/// <summary>
|
|
/// Gets the realm to use when requesting authentication.
|
|
/// </summary>
|
|
string Realm { get; }
|
|
|
|
/// <summary>
|
|
/// Validates a username and password for Basic Authentication.
|
|
/// </summary>
|
|
/// <param name="username">A username.</param>
|
|
/// <param name="password">A password.</param>
|
|
/// <param name="remoteAddress">The remote client's IP address.</param>
|
|
/// <param name="cancellationToken">A cancellation token.</param>
|
|
/// <returns>The validated user principal or <c>null</c>.</returns>
|
|
Task<ClaimsPrincipal> ValidateAsync(string username, string password, IPAddress remoteAddress, CancellationToken cancellationToken = default);
|
|
}
|
|
}
|