OIDC 访问令牌 - 存储在哪里?

OIDC Access Token - Where to store?

据我们所知,OpenIDConnect 涉及三个令牌:

  1. 默认情况下,OIDC 中的访问令牌是一个随机的唯一字符串,未使用 JWT 编码。
  2. ID 令牌使用 JWT 编码
  3. 刷新令牌

我们通常将ID token放在httpOnly模式的cookie中。

我的问题是,建议将访问令牌存储在哪里?当然你需要将它们存储在应用程序端。

您可以将令牌存储在任何您喜欢的地方,但最常见的方法是:

  • 将令牌存储在 cookie 中。如果令牌很大,那么这可能是个问题,因为 cookie 可能会变得很大。
  • 将令牌存储在内存或数据库的缓存中,并在会话 cookie 中存储对它们的“引用”。

ID 令牌的生命周期通常很短(例如某些供应商的 5 分钟),用于创建本地“用户”对象。