为什么不使用 InMemory 操作存储?
Why not use InMemory operational store?
有一些建议在投入生产时替换 InMemory 操作存储,但这个建议的实际根源是什么?
我看到了使用默认 IPersistedGrantStore
的这些缺点:
- 无持久性:当服务器重启时所有用户都必须重新登录
- 需要粘性会话,用户只能在他们的实例上刷新令牌
还有其他问题吗?
我认为您会发现分布式服务的更多问题,例如:
- 引用令牌:当从后端服务调用内省时,引用令牌应该针对发布它们的同一实例进行验证。
- 后端令牌撤销:您需要调用所有实例以确保从后端撤销。
- 同意:您无法保存用户的同意首选项(记住同意)。
- 刷新令牌:您不能在会话之间使用长期刷新令牌,并且您的用户必须始终在场。您不能使用离线访问。
有一些建议在投入生产时替换 InMemory 操作存储,但这个建议的实际根源是什么?
我看到了使用默认 IPersistedGrantStore
的这些缺点:
- 无持久性:当服务器重启时所有用户都必须重新登录
- 需要粘性会话,用户只能在他们的实例上刷新令牌
还有其他问题吗?
我认为您会发现分布式服务的更多问题,例如:
- 引用令牌:当从后端服务调用内省时,引用令牌应该针对发布它们的同一实例进行验证。
- 后端令牌撤销:您需要调用所有实例以确保从后端撤销。
- 同意:您无法保存用户的同意首选项(记住同意)。
- 刷新令牌:您不能在会话之间使用长期刷新令牌,并且您的用户必须始终在场。您不能使用离线访问。