当前位置: 首页 > 知识库问答 >
问题:

强制谷歌帐户选择器

华永逸
2023-03-14

有没有办法,我可以强制谷歌帐户选择器显示,即使用户只用一个帐户登录。

我已尝试重定向到此 URL:

https://accounts.google.com/AccountChooser?service=lso&continue=[authorizeurl]

它似乎有效,但我不知道是否有任何其他条件可能会失败。

共有3个答案

安聪
2023-03-14

有些人最终可能会在这里寻找有关如何在微软.AspNetCore.身份验证中执行此操作的答案。

我们能够在启动时通过下面的代码来完成它。ConfigureServices方法:

services.AddAuthentication()
  .AddGoogle(options =>
  {
      options.ClientId = configHelper.GoogleOAuthClientID;
      options.ClientSecret = configHelper.GoogleOAuthSecret;
      options.CallbackPath = "/signin-google";
      options.AuthorizationEndpoint = string.Concat(options.AuthorizationEndpoint, "?prompt=select_account");
  });
邢弘业
2023-03-14

此外,您可以在超文本标记语言标签中添加“提示”参数,如data-提示=“select_account”:

<div class="g-signin2" data-onsuccess="onSignIn" data-prompt="select_account"> 

并且每次都会强制选择帐户,即使您仅使用一个帐户登录

苏骏
2023-03-14

OAuth2授权URL支持以下参数:

< code >提示

当前,它可以具有值<code>无</code>和<code>同意</code>。

>

  • none:将导致Google不显示任何UI,因此如果用户需要登录,或者在多次登录的情况下选择一个帐户,或者在首次批准时同意,则失败。它可以在不可见的i-frame中运行,以便在您决定(例如)呈现授权按钮之前从先前授权的用户那里获取令牌。

    同意:将强制显示审批页,即使用户之前已授权您的应用程序也是如此。在一些极端情况下可能很有用,例如,如果您丢失了用户的refresh_token,因为Google仅发布有关明确同意操作refresh_tokens。

    select_account:将导致帐户选择器显示,即使只有一个登录用户,正如您要求的那样。

    < code>select_account可以与< code >同意结合使用,如:

    提示select_account同意

  •  类似资料:
    • 我的应用程序中有以下工作流: 用户登录我的自定义应用程序 用户点击一个按钮链接他们的YouTube帐户 应用程序使用下面的代码列表发出服务器端请求 用户被重定向到google auth url 此时,发生了两件事之一: [我从来不想要这种行为] - 如果用户只登录了一个谷歌帐户(即mail,谷歌域名应用套件等),则永远不会要求用户选择要链接的帐户。它只是假设他们想要使用他们登录的那个,并继续其快乐

    • 所以我已经在我的React应用中使用AWS Amplify (federatedSignIn)实现了Google认证。显然,我想让谷歌帐户选择器屏幕强制用户选择一个帐户登录。显然,它只有在有多个谷歌账户可供选择时才起作用,但如果只有一个账户,系统会自动使用它登录? 如何在只有一个帐户的情况下强制执行选择屏幕?

    • 当您使用Google Drive Web客户端时,您可以第一次选择要连接的Google帐户。完成后续调用后,跳过您可以选择帐户的步骤——您不必再次授权。有没有办法在不实际退出Google帐户的情况下再次触发帐户选择? 我正在使用文件选择器API,参见https://developers.google.com/picker/docs/

    • 我计划使用GoogleDrive服务帐户,因为我的应用程序将使用它来存储实时API文档。这些将是快捷方式文件。在“帮助”页面上显示: 由于无法访问服务号的Google Drive网页风格用户界面,因此无法为此类帐户购买额外的Google Drive存储。因此,您可能更喜欢使用常规帐户而不是服务号。 我看到5GB的数字四处漂浮。如果我只创建快捷文件,我应该担心吗?这种限制是有目的的吗?如果有,原因何

    • 我目前使用Cognito用户池,作为身份提供者与Google联合,来处理我的web应用程序的用户登录。目前,我只使用谷歌实现了登录。这目前是通过Cognito的托管用户界面来完成的。 当用户使用Google登录时,我希望始终提示他们选择他们的帐户,即显示此提示。 但是,我发现当我仅使用一个Google帐户登录时,会跳过此屏幕。虽然,当我没有登录Google帐户/2个或更多Google帐户时,会显示

    • 我想使用谷歌驱动器作为一个网站的准CMS工作,我正在使内容所有者可以编辑他们的内容使用谷歌驱动器。我希望使用一个可以访问Google Drive的特定用户帐户(在写这篇文章时,服务帐户不能直接访问Google Drive),并且能够与内容所有者共享文档。 在阅读了API和教程之后,我在委托中找到了答案:https://developers.google.com/drive/development