我们公司有一个我必须使用的自定义身份验证方案。在我的.NET Core 2.0 Web API中,我将在每个请购单中收到一个令牌,并将其重新发送给验证服务。
我目前正在使用重写的HandleAuthenticateAsync,如果验证检出,我需要以某种方式将用户ID(已经在手)发送给控制器。这一步我无法做对。我该怎么做?
protected override async Task<AuthenticateResult> HandleAuthenticateAsync()
{
string token = Request.Headers["Authorization"];
int userId = AuthService(token);
? // How to set up user id to be read by the controllers?
return AuthenticateResult.Success(
new AuthenticationTicket(
new System.Security.Claims.ClaimsPrincipal(),
Scheme.Name)); // Is this right?
}