如何撤销Identityserver4中的刷新令牌?

如何撤销Identityserver4中的刷新令牌?,identityserver4,Identityserver4,我需要按用户和客户端撤销刷新令牌。但我不知道该怎么做 我可以使用刷新令牌吗 或者我需要写代码。我在Identity中使用EF,在startup中我有: AddOperationalStore(options => ....) 删除令牌似乎有两种选择: IPersistentGrantStore:RemoveAllAsync(字符串主体ID、字符串客户端ID) IRefreshTokenStore:RemoveRefreshTokensAsync(字符串subjectId、字符串cli

我需要按用户和客户端撤销刷新令牌。但我不知道该怎么做

我可以使用刷新令牌吗

或者我需要写代码。我在Identity中使用EF,在startup中我有:

AddOperationalStore(options => ....) 
删除令牌似乎有两种选择:

  • IPersistentGrantStore:RemoveAllAsync(字符串主体ID、字符串客户端ID)

  • IRefreshTokenStore:RemoveRefreshTokensAsync(字符串subjectId、字符串clientId)
我可以用哪一个来做这个


或者我应该按照中所述实现删除的代码吗?

如果需要撤销给定SubjectId/ClientId组合的所有标记,则不能使用问题中列出的撤销端点。这是为了撤销一个标记

您链接的文章是关于不使用ASP.NET核心标识的。这是另一回事,应该不会影响您删除用户所有刷新令牌的愿望


方法确实是使用
IRefreshTokenStore.RemoveRefreshTokensAsync
方法,您可以在其中提供SubjectId和ClientId。这并不需要“撤销”标记,而是将它们全部从数据库中删除。

如果需要撤销给定SubjectId/ClientId组合的所有标记,则不能使用问题中列出的撤销端点。这是为了撤销一个标记

您链接的文章是关于不使用ASP.NET核心标识的。这是另一回事,应该不会影响您删除用户所有刷新令牌的愿望


方法确实是使用
IRefreshTokenStore.RemoveRefreshTokensAsync
方法,您可以在其中提供SubjectId和ClientId。这并不需要“撤销”令牌,而是将它们全部从数据库中删除。

这是一篇很长的文章,请尽量具体一些。您可能希望包含您认为相关的代码部分(来自文章)。好的,也许这个问题不相关。我想按subjectId和clientId删除刷新令牌。我应该实现哪种方法以及如何调用它?IRefreshTokenStore:RemoveReshTokensAsync调用IPersistentGrantStore:RemoveAllAsync,但我建议使用您注册的IRefreshTokenStore进行调用,因为它处于更高的抽象级别。这是一篇很长的文章,请尝试更具体一些。您可能希望包含您认为相关的代码部分(来自文章)。好的,也许这个问题不相关。我想按subjectId和clientId删除刷新令牌。我应该实现哪个方法以及如何调用它?IRefreshTokenStore:RemoveReshTokensAsync调用IPersistentGrantStore:RemoveAllAsync,但我建议使用您注册的IRefreshTokenStore进行调用,因为它处于更高的抽象级别