【问题标题】:google saml setup and configuration with omniauth-saml in rails在 rails 中使用omniauth-saml 设置和配置google saml
【发布时间】:2018-05-25 14:27:34
【问题描述】:

我正在尝试为我的 Rails 网站创建 Google SAML SSO 自定义应用集成。我正在使用omniauth-saml gem。

但是,我真的对在 google saml idp 设置期间需要在“服务提供商详细信息”下设置的“ACS URL”和“实体 ID”感到困惑。

我有几个问题:

  1. ACS URL 应该是什么?

我的理解:应该是接收 Google 发送的 SAML 断言的 URL。如果正确,:assertion_consumer_service_url 有什么用,可以在 rails app 中设置为: Rails.application.config.middleware.use OmniAuth::Builder do provider :saml, :assertion_consumer_service_url => "acs url here!!" # http://www.my-rails-app.com/sso/saml_asertion_handler ... end

这会覆盖谷歌门户中设置的 ACS URL 并将响应发送到 Omniauth 配置中指定的地址吗?

  1. 实体 ID 应该是什么?

我的理解:应该是我的rails app的url(http://www.my-rails-app.com)。但是,我发现了一些指定 saml 元数据 url 的地方(http://my-rails-app.com/auth/saml/metadata)。

  1. 在 Rails 配置中的 OmniAuth::Builder 中的颁发者应该是什么? 我的理解:就像实体 ID 一样,我发现它是“应用程序名称”(http://www.my-rails-app.com) 以及元数据的路径 (http://my-rails-app.com/auth/saml/metadata)。

我对此很陌生,非常感谢任何指导。

【问题讨论】:

    标签: ruby-on-rails omniauth saml google-apps saml-2.0


    【解决方案1】:
    1. google ACS URL 是您的 rails 应用程序的回调 URL。在您的情况下,这是 Google 发送 SAML 响应的地方。默认为http://example.com/auth/saml/callback

    2. & 3. google Entity Id 应与您的 rails 应用程序中的 :issuer SAML 配置属性完全匹配。大多数人使用他们的域名来减少命名冲突的机会。

    【讨论】:

      【解决方案2】:

      ACS 是断言消费者服务 URL。它是发送 SAML 断言的服务提供商 (SP) 上的目的地。您必须告诉 Google 作为 IDP 将断言发送到哪里。您必须在 Rails 中的 SP 上定义 ACS。您的实体 ID 是您应用的唯一标识符,通常设置为您的基域 URL。

      【讨论】:

      • 非常感谢@Rostam 的回复。因此,如果我在 google saml 应用程序中将 ACS 设置为 my-rails-app.com,并在我的 rails 应用程序中将 staging.my-rails-app.com 定义为 ACS。我会在 staging.my-rails-app.com 上获得断言吗?我实际上想知道我是否有 2 台服务器,生产和登台,并且我需要在两台服务器上测试相同的 SAML 应用程序身份验证,我可以在各自的 rails 应用程序中定义各自的 ACS,它是否比使用定义的默认 ACS 更优先谷歌?请原谅我。我对此很陌生。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多