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)

但我只想撤销一个特定会话的令牌(该方法称为RevokeTokens
ForCurrentSession
Async),该会话已注销

另一种方法是调用
TokenRevocationClient.RevokeAsync
,我需要传递确切的令牌。但是在
AccountController.LogOut
I中 只有logoutid和LogoutRequest(也不包含实际的令牌)

那么,在用户注销时隐式撤销特定的访问(引用)令牌的最佳解决方案是什么


提前感谢…

嘿,索罗斯,你有没有对此的修复/替代方案,我也非常需要。很抱歉,回复太晚,很遗憾,我仍然没有修复/解决方案。我目前生活在这个不理想的问题上。