获取UserIdentity会返回旧身份

时间:2017-08-21 07:12:32

标签: .net asp.net-mvc oauth-2.0

在MVC中我有自定义AuthorizeAttribute。因此,在此属性中,我使用cookie身份验证登录UserIdentity。在我的声明中,我有刷新令牌,如您所知,每次请求都会更改为API。

request.GetOwinContext().Authentication.SignIn(AuthProperties, identity);

因此,登录后我已使用特定的刷新令牌声明登录(例如' xxxxx')。我访问了一个具有CustomAuthorizeAttribute的Actions。在CustomAuthorizeAttribute中执行上面的代码。因此,我使用新身份和新刷新令牌声明登录(" yyyyyy")。但是当我尝试在Action中获得声明时,刷新令牌是旧的(" xxxxxx")。

    [CustomAuthorize]
    public ActionResult EditUser()
    {
        var userIdentity = this.User.Identity as ClaimsIdentity;

        //here is the old one token
        var refreshToken = userIdentity.Claims.FirstOrDefault(s => s.Type == "RefreshToken").Value; 

        return View("EditUser");
    }

如何从索赔中获取最新令牌的任何想法。其他解决方法是将其保存在会话中我猜。

0 个答案:

没有答案