我在Web应用程序中使用ws-federation和Azure AD。一切正常,除了我希望我的用户在30分钟不活动后退出。
我正在使用cookieauthentication:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ExternalCookie,
SlidingExpiration = true,
ExpireTimeSpan = new TimeSpan(0, 30, 0),
});
我的wsfederation:
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
Wtrealm = _appSettings.Realm,
MetadataAddress = _appSettings.Metadata,
AuthenticationMode = AuthenticationMode.Passive,
SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie,
UseTokenLifetime = false,
});
用户在30分钟后退出Web应用程序。但是,当他们单击登录URL并重定向到Azure AD时,他们仍然会登录并再次自动登录到我的应用程序。
我希望用户在再次登录之前重新输入凭据。有没有办法实现这个目标?
此致
答案 0 :(得分:0)
您可以更改Azure AD SSO票证的生命周期。我认为默认是480分钟。只需将其设置为30,用户就必须重新进行身份验证。
编辑:您可以在Azure AD上设置强制用户输入凭据,因为本地ADFS支持此功能,它也可能位于AAD中。
如果您不想更改SSO票证的全局TTL,您还可以将用户发送到Azure AD的注销终端(如果您的本地TTL过期)(但如果用户希望,则可以避免这种情况) - 所以你应该坚持选项1)。