存储位置 - OAuth 2.0 中的访问令牌和刷新令牌

Posted

技术标签:

【中文标题】存储位置 - OAuth 2.0 中的访问令牌和刷新令牌【英文标题】:where to store - access token and refresh token in OAuth 2.0 【发布时间】:2015-12-13 18:05:22 【问题描述】:

我是 OAuth 2.0 的新手,我想知道在通用电子商务网站中存储访问令牌和刷新令牌的最佳做法/位置是什么。

问题1: 访问令牌和刷新令牌应该存储在网站的什么位置? (cookies、网络存储或本地存储)。以及像 google、dropbox 这样的大公司在哪里存储访问令牌和刷新令牌?

问题 2: 如果刷新令牌存储在客户端(在台式机/笔记本电脑中使用浏览器),是否有人在该设备上获得物理增益,能够获取刷新令牌和设备信息并使用它在其他地方生成访问令牌?

问题 3: 我看到一些帖子建议客户端永远不应该存储和知道刷新令牌。那么,刷新令牌应该存储在哪里以及在这种情况下如何重新认证?

【问题讨论】:

【参考方案1】:

A1:访问令牌的生存时间比刷新令牌短得多,您可以将刷新令牌存储在本地存储中,甚至是服务器端的其他安全存储;对于访问令牌,网络存储和本地存储都可以;将访问令牌存储在 cookie 中没有多大意义

A2:是的,因此刷新令牌不应该存储在客户端;

A3:存储在服务器/服务端

【讨论】:

以上是关于存储位置 - OAuth 2.0 中的访问令牌和刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章

SPA 应该在哪里保存 OAuth 2.0 访问令牌?

OAuth 2.0 在哪里安全地存储访问令牌以供长期使用

Facebook Oauth 2.0 访问令牌会过期吗?

使用 Google Drive Oauth 2.0 管理访问令牌

OAuth 2.0。没有会议? (无国籍)

如何在到期后使用 OAuth 2.0 以及 iOS 应用程序中的 Youtube API 获取新的访问令牌