相关疑难解决方法(0)

Google SAML app_not_configured_for_user / 相当于 prompt=select_account SAML

我将 Gsuite 用作 Saml IDP,以在内部应用上对我组织的用户进行身份验证。

一切正常,除了一点:当我的一个用户使用他/她的个人帐户登录时,Google 将失败:

403 错误:app_not_configured_for_user

这是有道理的,因为该应用程序仅供内部用户使用,但我希望能够强制 Google saml 身份验证显示帐户选择器,即使用户已经登录到一个帐户,因为这对于 oauth2 是可能的使用 prompt=select_account

任何方式与 SAML 具有相同的行为?


[编辑]我实际上设法通过使用实现了我想要的

https://accounts.google.com/AccountChooser/?continue= $SAML_REQUEST$


[编辑 2] 这是在 ruby​​ on rails 中进行适配的代码片段(使用ruby-saml

配置/初始化程序/saml_override.rb

module OneLogin
  module RubySaml
    class Authrequest < SamlMessage
      GOOGLE_ACCOUNT_CHOOSER_URL = "https://accounts.google.com/AccountChooser?continue="
      alias_method :old_create, :create
      def create(settings, params = {})
        self.old_create(settings, params)
        @login_url = GOOGLE_ACCOUNT_CHOOSER_URL + CGI.escape(@login_url)
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

saml http-status-code-403 oauth-2.0 google-oauth google-workspace

7
推荐指数
2
解决办法
2635
查看次数

Google SAML SSO - 登录个人 Google 帐户时出现 403 app_not_configured_for_user 错误

我正在使用 Google/G Suite 为我们的应用程序进行 SAML SSO 集成。我们的客户在他们公司的 G Suite 管理设置中配置我们的 SAML 应用程序。在大多数情况下,集成工作正常:

  • 假设您尚未登录 Google 帐户。您启动 SSO 过程。系统会提示您登录公司的 Google 帐户,并且 SSO 可以正常工作。

尚未登录时的谷歌帐户提示

  • 假设您已经登录到您的公司 Google 帐户您的个人 Google 帐户。您启动 SSO 过程。您会看到一个帐户选择器。如果您选择您的公司 Google 帐户,SSO 将正常工作。 登录多个帐户时,帐户选择器提示

但是,在这种情况下,SSO 会失败:

  • 假设您只登录了您的个人 Google 帐户。Google 不会显示帐户选择器。相反,您会立即收到 403 错误:“错误:app_not_configured_for_user。”

403 错误,如果只登录了错误的帐户

这给我们的用户带来了非常混乱的体验。您目前只登录了一个不是您公司的 google 帐户的 google 帐户,这是很常见的。此外,错误页面是不透明的——用户不清楚他们做错了什么。

有没有办法始终显示帐户选择器?例如,我们可以向/o/saml2/idpurl 或 SAML AuthnRequest添加任何参数吗?(例如,我们尝试在 AuthnRequest 中设置ForceAuthn和添加一个<saml:Subject>块,但似乎 Google 的 SAML 也不支持。)

或者有没有办法让我们的应用程序在错误时获得回调,以便我们可以显示更有意义的错误消息?

(我联系了 G Suite 支持,他们说要在 Stack Overflow 上问我们的问题。感谢您的帮助!)

google-api saml single-sign-on saml-2.0 google-sso

5
推荐指数
1
解决办法
8634
查看次数