我正在尝试了解如何确保已登录用户的帐户仍然“有效”(有效意味着例如未锁定,未删除)
我使用IdentityServer v3设置了身份提供程序。在“依赖方”方面,我有一个使用Owin托管的ASP.NET WebApi。在RP端,我正在使用UseOpenIdConnectAuthentication在Owin管道中安装OpenIdConnectAuthenticationMiddleware。
到目前为止有效:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies",
SlidingExpiration = true
});
这很好用,但我希望从身份服务器的角度来看,用户仍然是“有效”的某种小时验证。
是否有一些标准模式我应该如何重新验证用户帐户是否有效?我不想强迫用户再次登录,我只想确认用户即使他的用户帐户被删除也无法永远保持。
答案 0 :(得分:1)
您可以使用OpenID Connect身份验证请求再次将用户发送到授权服务器,但使用规范中记录的附加参数prompt=none
:http://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint如果成功返回,则用户仍然会被记录in,否则将返回错误。在任何一种情况下都不会提示用户。