AspNetCore.Authentication.JwtBearer中的JwtBearerAuthentication和刷新令牌

时间:2017-03-22 16:57:16

标签: asp.net-core token jwt claims-based-identity

我在visual studio 2015中使用aspnetcore。 我已经实现了 JwtBearerAuthentication ,并且我成功使用了令牌身份验证。所以用户登录并获得令牌。

现在,我的令牌有一个到期时间跨度。它们过期后,用户将无法再进行验证。我希望能够在到期前几分钟在客户端中静默刷新用户的令牌。如何在此设置中实现此目的?是否可以使用 Microsoft.AspNetCore.Authentication.JwtBearer

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。您可以创建刷新令牌(例如随机字符串)并将过期时间设置为超过您的秘密令牌。将此令牌发送到您的客户端,并将其保存在客户端中。只要主令牌过期,您就可以将刷新令牌发送到服务器并进行检查, 而不是将用户发送到登录页面(并创建新令牌)。 如果它尚未到期,您创建一个新令牌并刷新令牌并设置对用户的访问权限,您的标题必须包含:

This site says...
{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJlUzl1NiJ9.eyJ1bmlxdWVfbmFtZ...",
    "token_type": "bearer",
    "expires_in": 119,
    "refresh_token": "9b091854a9d3415c8ae12f07c333e5...",
}