How to get token details like access token,access token expiry time and refresh token etc. on OnAuthorization() method

点点圈 提交于 2019-12-11 20:09:27

问题


I want to eject a logic that if access token is expired then generate refresh token on onAuthorization(AuthorizationFilterContext context) method in ASP.NET WEB API Core.

But i am not able to find a way to get token details.Basically how to get token details like expiry , refresh token from AuthorizationFilterContext.

public void OnAuthorization(AuthorizationFilterContext context)
{
    var user = context.HttpContext.User;
    if (!user.Identity.IsAuthenticated)
    {
        var test = context.;
        ..code to get refresh token...
    }
}

回答1:


For token authentication, you could retrive the token from header and then decode the token.

Try code below:

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;
}


来源:https://stackoverflow.com/questions/56327048/how-to-get-token-details-like-access-token-access-token-expiry-time-and-refresh

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!