aspnetcore-authentication-apikey icon indicating copy to clipboard operation
aspnetcore-authentication-apikey copied to clipboard

ValidationFailed Message

Open renerlemes opened this issue 8 months ago • 0 comments

@mihirdilip when I use the context.ValidationFailed("Message") inside the OnValidateKey event, how to get the message in this custom middleware?

It´s not possible to get with PolicyAuthorizationResult.FailureReasons

public class AuthorizationMiddleware : IAuthorizationMiddlewareResultHandler
{
    private readonly IAuthorizationMiddlewareResultHandler _handler;

    public AuthorizationMiddleware()
    {
        _handler = new AuthorizationMiddlewareResultHandler();
    }

    public async Task HandleAsync(RequestDelegate requestDelegate, HttpContext httpContext, AuthorizationPolicy authorizationPolicy, PolicyAuthorizationResult policyAuthorizationResult)
    {
        if (!policyAuthorizationResult.Succeeded)
        {
            Models.ResponseDefault responseDefault = new(false, new[] { "O usuário não está autenticado" });

            httpContext.Response.ContentType = "application/json";
            httpContext.Response.StatusCode = 401;
            await httpContext.Response.WriteAsync(JsonConvert.SerializeObject(responseDefault));

            return;
        }

        await _handler.HandleAsync(requestDelegate, httpContext, authorizationPolicy, policyAuthorizationResult);
    }
}

renerlemes avatar Jun 09 '24 12:06 renerlemes