为什么不使用 InMemory 操作存储?

Why not use InMemory operational store?

有一些建议在投入生产时替换 InMemory 操作存储,但这个建议的实际根源是什么?

我看到了使用默认 IPersistedGrantStore 的这些缺点:

  1. 无持久性:当服务器重启时所有用户都必须重新登录
  2. 需要粘性会话,用户只能在他们的实例上刷新令牌

还有其他问题吗?

我认为您会发现分布式服务的更多问题,例如:

  1. 引用令牌:当从后端服务调用内省时,引用令牌应该针对发布它们的同一实例进行验证。
  2. 后端令牌撤销:您需要调用所有实例以确保从后端撤销。
  3. 同意:您无法保存用户的同意首选项(记住同意)。
  4. 刷新令牌:您不能在会话之间使用长期刷新令牌,并且您的用户必须始终在场。您不能使用离线访问。