Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core Identityserver4撤消一个或所有令牌_Asp.net Core_Identityserver4 - Fatal编程技术网

Asp.net core 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

在应用程序中,当用户注销时,我将撤销当前会话的引用和刷新令牌。这是一个API,因此其他设备可以登录到应用程序中。我想提供注销或从所有设备注销的功能

在Identityserver4中,当我们注销时,我们可以使用吊销客户端吊销令牌:

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?