IdentityServer4 refresh_token 吊销

IdentityServer4 refresh_token revocation

我有一个 SPA 应用程序,它使用 IdentityServer4 ROPC 流进行身份验证,并使用此示例中的访问和刷新令牌 https://github.com/robisim74/AngularSPAWebAPI。我每 15 分钟更新一次 refresh_token 以获取一对新的刷新和访问令牌。

但是,如果我重新启动 IdentityServer4 应用程序,则在重新启动之前发布的旧 refresh_tokens 将不再有效。如何解决?我怀疑我应该实现一些接口来存储发布的刷新令牌?

您需要使用 IPersistedGrantStore 合约来实现永久授权。这会将 refresh_tokens 之类的内容存储到定义的持久性中。默认情况下,IdentityServer 4 将使用 InMemory 持久性存储,这就是为什么您在重新启动应用程序时会不断丢失 refresh_token 引用的原因。

如果您要使用 refresh_tokens.

,那么在生产中为此设置一个持久层是非常必要的