【问题标题】:OWIN Authentication with Google使用 Google 进行 OWIN 身份验证
【发布时间】:2015-02-13 12:54:00
【问题描述】:

我在 ASPNET MVC 项目上使用 owin 身份验证。使用谷歌时遇到以下问题:

1- 用户使用 google 帐户登录

2- 用户退出

3- 用户下次尝试登录时,会自动使用当前的 google 帐户再次登录,而不会提示用户是否要使用其他帐户。

问题:如何使用owin google 身份验证提示用户是要使用当前帐户还是使用其他帐户?

谢谢

【问题讨论】:

  • 您如何管理您的登录过程?您不是使用两个单独的按钮和操作进行正常登录和 Google 登录吗?如果您在取消方法调用期间没有正确注销。可能存在缓存问题。在第二次登录时调试并检查您的状态?
  • 抱歉,我现在看到的还不够清楚。在第 3 步中,我再次谈到了 google 登录。目前,我不支持我自己的系统帐户,只支持 google 和 facebook。问题是当用户尝试再次使用 google 登录时,使用当前的 google 帐户而不是明确询问用户是否要使用当前登录的 google 帐户或是否要更改为另一个帐户。也许这是不可能的?例如,在 stackoverflow 中,他们指出,当您注销时,您还应该从您的 id 提供者中注销。也许我也必须这样做?

标签: asp.net-mvc authentication owin


【解决方案1】:

如果您使用外部登录提供商(在您的情况下为 Google)登录您的应用程序,那么您的应用程序将通过第三方提供商(在您的情况下为 Google)进行身份验证。

注册成功后,asp.net 身份框架存储提供商密钥从第三方提供商返回到 AspNetUserLogins 表中,下次登录时使用。

但用户退出您的应用程序并不意味着用户退出 Google。因此,如果您使用已通过 Google 帐户身份验证的同一浏览器,您将允许您使用已通过身份验证的 Google 帐户登录您的应用程序。

当您在应用程序中调用注销时,Asp.Net 身份框架中没有简单的开箱即用选项可以从外部提供商 (Google) 和您的应用程序中注销。

当您在应用程序中调用注销时,您必须调用Google API 从 Google 帐户中注销,以达到您的要求。

您可以查看此work item 以获取更多详细信息。

【讨论】:

    猜你喜欢
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 2017-12-17
    • 1970-01-01
    • 2017-05-06
    • 2015-10-29
    • 2018-08-30
    相关资源
    最近更新 更多