强制用户使用ws-federation和Azure AD重新输入凭据

时间:2015-03-02 08:54:13

标签: c# owin ws-federation

我在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时,他们仍然会登录并再次自动登录到我的应用程序。

我希望用户在再次登录之前重新输入凭据。有没有办法实现这个目标?

此致

1 个答案:

答案 0 :(得分:0)

您可以更改Azure AD SSO票证的生命周期。我认为默认是480分钟。只需将其设置为30,用户就必须重新进行身份验证。

编辑:您可以在Azure AD上设置强制用户输入凭据,因为本地ADFS支持此功能,它也可能位于AAD中。

如果您不想更改SSO票证的全局TTL,您还可以将用户发送到Azure AD的注销终端(如果您的本地TTL过期)(但如果用户希望,则可以避免这种情况) - 所以你应该坚持选项1)。