namespace ZB.MOM.WW.MxGateway.Server.Security.Authentication;

/// <summary>Verifies API key authorization headers and returns the authenticated identity.</summary>
public interface IApiKeyVerifier
{
    /// <summary>Parses and verifies an authorization header, returning success with identity or a failure reason.</summary>
    /// <param name="authorizationHeader">The authorization header value to verify.</param>
    /// <param name="cancellationToken">Token to cancel the asynchronous operation.</param>
    Task<ApiKeyVerificationResult> VerifyAsync(
        string? authorizationHeader,
        CancellationToken cancellationToken);
}
