繁体   English   中英

使用JWT令牌使访问令牌过期时刷新令牌调用

[英]Refresh Token call when Access token expired using JWT token

我在.net核心中创建两个Web应用程序,第一种是实体框架db方法,而在.net核心中创建另一个Web应用程序,仅针对使用剃刀页面的客户端。 我的问题是我将api方法保持为授权状态,并在用户登录后生成访问令牌和刷新令牌。 我的访问令牌在20分钟后过期,因此我必须静静地调用刷新令牌。我无法在哪里调用刷新令牌,因此无论何时我的访问令牌过期,它都会调用刷新令牌。

在ajax错误块中,我正在调用刷新令牌,它会生成一个新令牌,然后在睡眠5秒后再次调用main方法。 如果状态码为200,则返回数据,但是该方法每次返回401状态码。

  error: function (request, textStatus, errorThrown) {
               ErrorHandleFunction(request, textStatus, errorThrown);
               sleep(5000).then(() => {
                    Myfunction();
                });

错误时它将调用刷新令牌,然后它将调用我的函数,因此再次将访问令牌的到期时间设置为20分钟。当前它正在刷新令牌调用中循环。

您需要实现自己在WebApi中生成刷新令牌的逻辑。 当您向WebApi提出请求时,您应该获得401 Unauthorized。 也许是头记录来解释令牌已过期? 这样,您将在前端知道需要使用过期的令牌来调用“ RefreshToken”端点,以获取刷新令牌。

这是一个示例: https : //www.blinkingcaret.com/2018/05/30/refresh-tokens-in-asp-net-core-web-api/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM