C# 正在撤消IdentityServer4中特定会话的访问令牌(引用)
我正在使用带有引用标记的C# 正在撤消IdentityServer4中特定会话的访问令牌(引用),c#,asp.net,identityserver4,C#,Asp.net,Identityserver4,我正在使用带有引用标记的IdentityServer 4隐式流。 我自己做了一个实现,将授权存储在MSSQL数据库中,效果很好 现在我想在用户从前端注销时撤销一个引用令牌。因为我不想从前端调用吊销端点,所以我希望在IdentityServer中的AccountController.Logout(string logoutId)方法中隐式调用它(这也包括从swagger ui注销) 所以我在AccountController中注入了一个 await _interaction.RevokeToken
IdentityServer 4
隐式流。
我自己做了一个实现,将授权存储在MSSQL数据库中,效果很好
现在我想在用户从前端注销时撤销一个引用令牌。因为我不想从前端调用吊销端点,所以我希望在IdentityServer中的AccountController.Logout(string logoutId)
方法中隐式调用它(这也包括从swagger ui注销)
所以我在AccountController中注入了一个
await _interaction.RevokeTokensForCurrentSessionAsync();
在注销方法中
撤销当前subjectid/用户和clientid的所有令牌(调用方法IPersistedGrantStore.RemoveAllAsync(string subjectid,string clientid)
)
但我只想撤销一个特定会话的令牌(该方法称为RevokeTokensForCurrentSession
Async),该会话已注销
另一种方法是调用TokenRevocationClient.RevokeAsync
,我需要传递确切的令牌。但是在AccountController.LogOut
I中
只有logoutid和LogoutRequest(也不包含实际的令牌)
那么,在用户注销时隐式撤销特定的访问(引用)令牌的最佳解决方案是什么
提前感谢…嘿,索罗斯,你有没有对此的修复/替代方案,我也非常需要。很抱歉,回复太晚,很遗憾,我仍然没有修复/解决方案。我目前生活在这个不理想的问题上。