在我的应用程序中,当用户成功登录时,我返回访问令牌和刷新令牌。访问令牌和刷新令牌的过期时间已分别设置为 10 分钟和 40 分钟。 (我应该对这些值做更多研究。这只是为了测试)
我使用了下面文章中描述的实现
http://www.svlada.com/jwt-token-authentication-with-spring-boot/ http://www.svlada.com/jwt-token-authentication-with-spring-boot/
假设我在登录 10 分钟后向服务器发出请求。由于访问令牌已过期,我收到 401 错误响应。
但是,作为初学者,我发现很难理解是否需要显式发送刷新令牌才能获取新的访问令牌。如果我应该这样做,该怎么做?我应该发送刷新令牌作为什么?一个标题?
或者,当我的请求因访问令牌过期而被服务器拒绝时,刷新令牌本身是否应该自动向服务器发送请求以获取新的访问令牌?
我发现很难从我在网上找到的资源来理解刷新令牌行为的本质。请向我澄清这些问题。
是的,刷新令牌用于获取新的访问令牌。
当您第一次请求访问令牌时,通常首先向令牌端点发送令牌请求,以防出现所谓的Resource Owner Password Credentials Grant
在请求标头中包含用户凭据,例如
grant_type=password&username=user1&passowrd=very_secret
当访问令牌过期时,您必须请求新的访问令牌。这次,使用仍然有效的刷新令牌,您不再需要用户凭据,而是发送
grant_type=refresh_token&refresh_token=<your refresh token>
反而。
这样您就不需要在客户端存储用户凭据,也不需要再次通过登录过程打扰用户。
正如您所知的到期时间,您还可以实现一种机制,在 access_token 到期之前刷新您的令牌。
此外,您可以阅读此内容以获取有关该主题的更多信息:https://auth0.com/learn/refresh-tokens/ https://auth0.com/learn/refresh-tokens/
下面的教程中还有如何在 postman 中使用刷新令牌的屏幕截图:http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/ http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/(向下滚动至步骤 6)
一般来说,我建议阅读 Taiseer Joudeh 的教程,尤其是。适用于 C#、ASP.NET u 和 Angular 程序员。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)