Ruby on rails 在rails中使用omniauth saml进行google saml设置和配置

Ruby on rails 在rails中使用omniauth saml进行google saml设置和配置,ruby-on-rails,omniauth,saml,google-apps,saml-2.0,Ruby On Rails,Omniauth,Saml,Google Apps,Saml 2.0,我正在尝试为我的Rails网站创建Google SAML SSO自定义应用程序集成。我正在使用omniauth saml gem 然而,我真的对“ACS URL”和“实体ID”感到困惑,它们需要在google saml idp设置过程中设置在“服务提供商详细信息”下 我有几个问题: ACS URL应该是什么 我的理解是:它应该是谷歌接收和发送SAML断言的URL。如果这是正确的,那么:断言\消费者\服务\ url的用途是什么,它可以在rails应用程序中设置为: Rails.applicatio

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

然而,我真的对“ACS URL”和“实体ID”感到困惑,它们需要在google saml idp设置过程中设置在“服务提供商详细信息”下

我有几个问题:

  • ACS URL应该是什么
  • 我的理解是:它应该是谷歌接收和发送SAML断言的URL。如果这是正确的,那么:断言\消费者\服务\ url的用途是什么,它可以在rails应用程序中设置为:
    Rails.application.config.middleware.use OmniAuth::Builder do
    提供者:saml,
    :assertion_consumer_service_url=>“acs url here!!”#http://www.my-rails-app.com/sso/saml_asertion_handler
    ...
    结束

    这会覆盖google门户中设置的ACS URL,并向Omniauth配置中指定的URL发送响应吗

  • 实体ID应该是什么
  • 我的理解是:它应该是我的rails应用程序()的url。但是,我发现有几个地方指定了saml元数据url()

  • rails配置中OmniAuth::Builder中的颁发者应该是什么? 我的理解是:就像实体Id一样,我发现它是“应用程序名”(applicationname)以及元数据()的路径

  • 我对此非常陌生,非常感谢您的指导。

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

  • googleACS URL是rails应用程序的回调URL。在你的例子中,这就是谷歌发送SAML响应的地方。默认值为
    http://example.com/auth/saml/callback

  • &三,。google实体Id应该与rails应用程序中的
    :issuer
    SAML config属性完全匹配。大多数人使用他们的域名来减少命名冲突的机会


  • 非常感谢@Rostam的回复。因此,如果我在google saml应用程序中将ACS设置为my-rails-app.com,并在我的rails应用程序中将staging.my-rails-app.com定义为ACS。我会在staging.my-rails-app.com上得到断言吗?我真的想知道,如果我有两台服务器,生产和暂存,并且我需要在两台服务器上测试相同的SAML应用程序身份验证,我可以在各自的rails应用程序中定义各自的ACS吗?它是否比google定义的默认ACS具有更高的优先级?请原谅。我对这个很陌生。