首页 文章

使用OpenId Connect隐式流时重新验证用户

提问于
浏览
0

我试图了解如何确保登录用户的帐户仍然“有效”(其中有效意味着例如未锁定,未删除)

我使用IdentityServer v3设置了身份提供程序 . 在“依赖方”方面,我有一个使用Owin托管的ASP.NET WebApi . 在RP端,我正在使用UseOpenIdConnectAuthentication在Owin管道中安装OpenIdConnectAuthenticationMiddleware .

到目前为止有什么工作:

  • 访问我的Web应用程序的任何未经身份验证的用户都将重定向到IdentityServer上的登录页面

  • 用户登录(我正在使用隐式流程)

  • 用户被重定向回我的网络应用程序

  • 我的网络应用程序收到包含id令牌和访问令牌的JWT

  • 我的网络应用程序调用用户信息 endpoints 以使用访问令牌检索声明

  • 我的网络应用会创建一个新的ClaimsIdentity,其中包含我的应用感兴趣的声明 . 然后将其保存在cookie中,使用:

app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = "Cookies",
        SlidingExpiration = true
    });

这工作正常,但我希望从身份服务器的角度来看,用户仍然是“有效”的某种每小时验证 .

是否有一些标准模式我应该如何重新验证用户帐户是否有效?我不想强迫用户再次登录,我只想确认用户即使他的用户帐户被删除也无法永远保持 .

1 回答

相关问题