我是 .net 核心的新手。我们正在尝试向项目添加身份验证。
我的身份验证处理程序的 HandleAuthenticateAsync 函数如下所示。
protected override Task<AuthenticateResult> HandleAuthenticateAsync()
{
string token = Gettoken(_httpContextAccessor.HttpContext.Request);
if(token == null)
{
return AuthenticateResult.NoResult();
}
if(Validatetoken(token) == false)
{
return AuthenticateResult.Fail("invalid token");
}
var tokenIdentity = new TokenIdentity(token);
var principal = new GenericPrincipal(tokenIdentity, null);
var authTicket = new AuthenticationTicket(principal, "schema");
return AuthenticateResult.Success(authTicket);
}
我只想在令牌无效时抛出客户端错误(在 AuthenticateResult.Fail 上) 并希望在其他情况下继续处理请求(在 AuthenticateResult.NoResult 和 AuthenticateResult.Success 上)
我怎样才能达到这个要求?谢谢。
答案 0 :(得分:0)