首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UseGoogleAuthentication强制登录会话过期?

UseGoogleAuthentication强制登录会话过期?
EN

Stack Overflow用户
提问于 2014-03-15 17:56:06
回答 1查看 419关注 0票数 0

我使用的是带有GoogleOAuth2AuthenticationOptions的ASP.NET MVC5的外部认证中间件UseGoogleAuthentication/UseExternalSignInCookie。有没有办法强制用户在每次访问该网站时都必须重新向Google进行身份验证?

目前,如果用户已经登录到Google并访问该站点,则无需重新向Google进行身份验证。理想情况下,分配的cookie只对他们在站点上的当前会话有好处……

代码语言:javascript
复制
    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

    var authOptions = new GoogleOAuth2AuthenticationOptions();
    authOptions.ClientId = AppSettingsHelper.GoogleClientId;
    authOptions.ClientSecret = AppSettingsHelper.GoogleClientSecret;
    authOptions.CallbackPath = new PathString("/account/linklogincallback");

    foreach (var scope in AppSettingsHelper.GoogleOAuthScope)
    {
        authOptions.Scope.Add(scope);
    }
    app.UseGoogleAuthentication(authOptions);
EN

回答 1

Stack Overflow用户

发布于 2014-03-17 21:52:09

app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);替换为app.UseCookieAuthentication(..)并指定ExpireTimeSpanUseExternalSignInCookie只是使用某些默认值的cookie身份验证方法的帮助器。

代码语言:javascript
复制
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ExternalCookie,
    SlidingExpiration = true,
    ExpireTimeSpan = new System.TimeSpan(0, 5, 0),
    LoginPath = new PathString("/Account/Login")
});

注意,我们在这里使用的是DefaultAuthenticationTypes.ExternalCookie而不是ApplicationCookie

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22422212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档