我想弹出一个逻辑,如果访问令牌过期,则在 ASP.NET WEB API核心中的onAuthorization(AuthorizationFilterContext上下文)方法上生成刷新令牌。
但是我无法找到一种方法来获取令牌详细信息。基本上如何获取令牌详细信息,例如到期,从 AuthorizationFilterContext 刷新令牌。
public void OnAuthorization(AuthorizationFilterContext context)
{
var user = context.HttpContext.User;
if (!user.Identity.IsAuthenticated)
{
var test = context.;
..code to get refresh token...
}
}
答案 0 :(得分:0)
对于令牌认证,您可以从标头中检索令牌,然后对令牌进行解码。
请尝试以下代码:
public void OnAuthorization(AuthorizationFilterContext context)
{
//var token = context.HttpContext.GetTokenAsync("access_token").GetAwaiter().GetResult();
var token = context.HttpContext.Request.Headers["Authorization"].FirstOrDefault().Split(" ")[1];
var handler = new JwtSecurityTokenHandler();
var jsonToken = handler.ReadToken(token);
var tokenS = handler.ReadToken(token) as JwtSecurityToken;
}