Asp.net core Identityserver4撤消一个或所有令牌
在应用程序中,当用户注销时,我将撤销当前会话的引用和刷新令牌。这是一个API,因此其他设备可以登录到应用程序中。我想提供注销或从所有设备注销的功能 在Identityserver4中,当我们注销时,我们可以使用吊销客户端吊销令牌:Asp.net core Identityserver4撤消一个或所有令牌,asp.net-core,identityserver4,Asp.net Core,Identityserver4,在应用程序中,当用户注销时,我将撤销当前会话的引用和刷新令牌。这是一个API,因此其他设备可以登录到应用程序中。我想提供注销或从所有设备注销的功能 在Identityserver4中,当我们注销时,我们可以使用吊销客户端吊销令牌: var-client=new-TokenRevocationClient(…); //var result=wait client.RevokeAccessTokenAsync(令牌); //var result=await client.revokefreshTok
var-client=new-TokenRevocationClient(…);
//var result=wait client.RevokeAccessTokenAsync(令牌);
//var result=await client.revokefreshTokenAsync(令牌);
这反过来调用IReferenceTokenStore.RemoveReferenceTokenAsync(字符串句柄)
现在的问题是,我如何撤销用户的所有令牌?这意味着它应该调用
IReferenceTokenStore.RemoveReferenceTokenAsync(string subjectId,string clientId)
。您可以插入IIdentityServerInteractionService
的实例,并调用RevokeTokensForurrentSessionAsync()
这将导致调用
IReferenceTokenStore.RemoveReferenceTokensAsync(string subjectId,string clientId)
我遇到了完全相反的问题,请参阅。我想撤销单个会话/令牌,但没有可用的令牌,只有AccountController.LogOut方法中的logoutid。。。如果您在注销时有特定的可用令牌,那么在IdSrv4中您在哪里调用了TokenRevocationClient?