在`Angular`中实现`Refresh Token`
Posted
技术标签:
【中文标题】在`Angular`中实现`Refresh Token`【英文标题】:Implement `Refresh Token` in `Angular` 【发布时间】:2020-10-24 15:56:53 【问题描述】:我正在与OAuth2
和JWT
一起处理Spring
安全implementation:
根据作者的说法,我可以通过这种方式使用令牌访问资源:
要访问资源使用(您需要一个不同的应用程序 已配置资源服务器):
http localhost:8080/users 'Authorization: Bearer '$ACCESS_TOKEN
关于这一步:
要使用刷新令牌功能:
http --form POST adminapp:password@localhost:9999/oauth/token grant_type=refresh_token refresh_token=$REFRESH_TOKEN
我不清楚何时必须刷新令牌以及如何将这部分处理到我的 Angular
应用程序中。
我是否需要实现一个计时器来不时刷新令牌,或者是否有其他方法可以实现此功能?
【问题讨论】:
【参考方案1】:基于 Angular 的解决方案将涉及以下步骤:
在浏览器中实现 SPA 安全性 通过 iframe 静默更新令牌 在您的 API 中验证令牌您通常不会自己实现授权服务器 - 而是使用低成本的云提供商。
值得了解HTTP Messages - 步骤 22 进行令牌刷新。
有关 SPA 和 API 的真实方法,请参阅我的Visual Tutorial + Code Sample。然后,您可以将代码调整为 Angular。
【讨论】:
我检查了链接,但我担心使用Renew tokens silently via iframes
是否有其他更好的解决方案?
iframe 是 SPA 的标准,没有比这更好的了。您使用安全库并避免自己编写代码 - 这里是 some sample code of mine。
好的,我会尝试实现这个解决方案。以上是关于在`Angular`中实现`Refresh Token`的主要内容,如果未能解决你的问题,请参考以下文章