在IdentityServer4中重用IdentityServer3刷新令牌

在IdentityServer4中重用IdentityServer3刷新令牌,identityserver4,Identityserver4,我目前正在开发IdentityServer4的实现。 我正在为其工作的客户端当前运行IdentityServer3,并且在其令牌表中存储了大量有效的刷新令牌。 如果可能的话,他们希望能够在新的IdentityServer4实现中重用这些刷新令牌,这样升级将为他们的客户带来无缝体验(即,他们不需要再次登录) 在对主题进行一些测试时,我注意到哈希键在IdentityServer4的PersistedGrants表中的编码与在IdentityServer3的Tokens表中的编码不同,因此简单地将标记

我目前正在开发IdentityServer4的实现。 我正在为其工作的客户端当前运行IdentityServer3,并且在其令牌表中存储了大量有效的刷新令牌。 如果可能的话,他们希望能够在新的IdentityServer4实现中重用这些刷新令牌,这样升级将为他们的客户带来无缝体验(即,他们不需要再次登录)

在对主题进行一些测试时,我注意到哈希键在IdentityServer4的PersistedGrants表中的编码与在IdentityServer3的Tokens表中的编码不同,因此简单地将标记复制到新数据库中是行不通的


对于IdentityServer 4,是否存在与旧IdentityServer 3刷新令牌的向后兼容性?

否。迁移到IdentityServer 4将要求所有人重新登录。即使刷新令牌是向后兼容的,或者可以以某种方式进行迁移,也有很多其他地方(例如,修改后的数据保护API、各种cookie内容)新的ASP.NET Core ID4服务器无法顺利从现有的ID3实现中接管


另外,请注意,IdentityServer4 QuickstartUI和EF持久性实现都不打算被视为生产就绪代码。从ID4起,这两个问题都被正式视为您的责任,这些回购仅作为样本/参考代码。(ASP.NET Core EF标识模板也是如此,不过微软对此并不那么直截了当。)

感谢您的快速回复:)。你能不能详细介绍一下,或者给我指一个参考资料,说明为什么他们的持久性实现不应该用于生产?不幸的是,当我阅读这些评论时,我没有保存链接(我知道我应该保存!)。。。它来自ID4和ASP.NET存储库中的各种github问题注释。更糟糕的是,早在2016年ID4在一篇博客文章中发布时,他们就明确表示刷新令牌将兼容。好的,我将继续对此进行研究:)谢谢你的帮助@乔纳斯吉,也许我写得有点晚了,但你有没有发现这方面的问题?