Identityserver4撤消一个或所有令牌

时间:2017-12-19 16:17:18

标签: asp.net-core identityserver4

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

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

var client = new TokenRevocationClient(...);
//var result = await client.RevokeAccessTokenAsync(token);
//var result = await client.RevokeRefreshTokenAsync(token);

这反过来调用IReferenceTokenStore.RemoveReferenceTokenAsync(string handle)

现在,问题是如何为用户撤销所有令牌?这意味着它应该调用IReferenceTokenStore.RemoveReferenceTokensAsync(string subjectId, string clientId)

1 个答案:

答案 0 :(得分:0)

您可以注入IIdentityServerInteractionService的实例并调用RevokeTokensForCurrentSessionAsync()

这应该导致调用IReferenceTokenStore.RemoveReferenceTokensAsync(string subjectId, string clientId)