我需要按用户和客户端撤消刷新令牌。但是我不确定该怎么做。
我可以使用revoke endpoint获得刷新令牌吗?
还是我需要编写代码。我在Identity中使用EF,在启动时,我有:
AddOperationalStore(options => ....)
删除令牌似乎有两种选择:
我可以使用哪个?
还是应该按照this article中的说明实施删除代码?
答案 0 :(得分:0)
如果您需要撤销给定 SubjectId/ClientId 组合的所有令牌,则不能使用您在问题中列出的撤销端点。这旨在撤销单个令牌。
您链接的文章是关于不使用 ASP.NET Core Identity。这是另一回事,应该不会影响您删除用户的所有刷新令牌的愿望。
要走的路确实是使用 IRefreshTokenStore.RemoveRefreshTokensAsync
方法,您可以在其中提供 SubjectId 和 ClientId。这并不一定会“撤销”令牌,而是将它们全部从数据库中删除。