0

我们有一个基于 Asp.Net 构建的 Web 应用程序,然后我们有使用 .net 核心构建的 IdentityServer4 应用程序。

我们有移动应用程序,它作为 IdentityServer4 的客户端进行登录,它的授权存储在 SQL 数据库中。

我遇到的问题是,当我作为管理员从 Web 应用程序更改/重置密码时,移动应用程序仍然可以访问,因为 refresh_token 仍然有效,因为我们已经为此设置了滑动到期。我想要的是在管理员为任何用户重置密码时撤销 refresh_token,我在 asp.net 应用程序中找不到这样做的方法,我使用了下面的文档,但这对我没有用,因为我相信这将是只有当我们想撤销登录用户的授权时才有用。

https://identitymodel.readthedocs.io/en/latest/client/revocation.html

PS:我们确实在 identityServer 项目中有撤销功能,但那是不同的项目,我们希望在 asp.net Web 应用程序中进行类似的撤销。

谢谢。

4

1 回答 1

0

这个方法怎么样?这在 SigningOut 事件中调用。您在更改密码时注销用户并撤销令牌。

.AddCookie("cookie", options =>
    {
        options.Cookie.Name = "mvccode";

        options.Events.OnSigningOut = async e =>
        {
            // revoke refresh token on sign-out
            await e.HttpContext.RevokeUserRefreshTokenAsync();
        };
    })

链接到文档 -这里

于 2021-04-14T08:26:56.430 回答