【问题标题】:Test Google SSO SAML on Localhost在 Localhost 上测试 Google SSO SAML
【发布时间】:2019-06-13 13:40:54
【问题描述】:

Google 作为身份提供者的 Google SSO SAML 设置中的 ACS 网址必须以 https 开头。因此,我无法使用 localhost url。有没有办法在本地服务器上测试 Google SSO SAML?我需要输入什么网址(或其他详细信息)?

【问题讨论】:

  • 为什么不能将 SAML 与 Google SP 一起使用? Google SP 托管在互联网空间中......对吗?
  • @BernhardThalmayr 糟糕,我使用 Google 作为身份提供者。我编辑了我的问题。谢谢。
  • 那么,您为什么不能在托管您的 SP 的服务器上配置一个安全侦听器?
  • @BernhardThalmayr 我可以,但是每次我做出改变时我都需要部署。那很费时间。
  • 对不起,我不明白。如果您在 localhost 上使用安全侦听器,为什么需要部署任何东西?

标签: python google-cloud-platform single-sign-on saml-2.0 google-sso


【解决方案1】:

因此,Google SAML 应用(Google 是身份提供者)会强制您输入以 https://* 开头的 ACS 网址。因此,我无法输入http://localhost 网址。我使用 python3-saml 包中的 django demo 将 SAML SSO 集成到我的应用程序中。

为了获得一个指向我的本地主机服务器的 https url,我使用了ngrok,它为你的本地主机的 url 提供了一个 https 和 http 链接。该 https url 可以在 Google Admin 的 ACS url 和 Entity url 中输入。 django 演示使用 url 参数将用户重定向到登录的视图,但这对我使用 ngrok 不起作用。因此,我决定在单独的 url /sso/logged-in/ 而不是 /sso/?acs 上呈现登录视图。

【讨论】:

    【解决方案2】:

    ngrok 用于通过一个简单的命令将本地主机上的应用程序公开到互联网。

    ./ngrok http 3000
    

    当在终端中输入上述命令时,将在终端中打开一个窗口,该窗口将告诉您可以通过 Internet 访问的公共 URL 以连接到托管在您的本地主机上的端口 3000 上的应用程序。 欲了解更多信息,请查看 https://ngrok.com/

    如果对你有帮助,请点赞!!

    【讨论】:

      【解决方案3】:

      您是否尝试过以下测试身份提供者(dockerized): https://github.com/kristophjunge/docker-test-saml-idp

      【讨论】:

      • 不,我没试过。我在回答中描述的解决方案现在按预期工作。无论如何,谢谢。
      • 您也可以使用 SSO Circle (ssocircle.com/en/portfolio/publicidp) 作为云 IdP 进行测试
      • 他正在尝试与特定的身份提供者集成。来自 ssocircle 要求的公共 idp 可能不同,这很好,但我建议将其用于学习目的。
      【解决方案4】:

      我遇到了同样的问题,我使用带有自签名证书的本地 iis 在 localhost 上运行我的应用程序,它工作得很好。

      这样可以很容易地调试来自 google 的 saml 响应,而不是使用远程 url。

      【讨论】:

        【解决方案5】:

        您需要任何公共地址才能通过那里 - 身份提供者需要重定向到您的网站。您可以:

        • 将应用程序部署到某个服务器
        • 使用隧道(当指向https://example.localtunnel.me 时,您的请求将到达localhost:8080 或您指定的任何内容)。

        互联网上有许多隧道提供商。作为一个免费且简单的,您可以考虑Localtunnel,它是免费且易于使用的。

        简单输入:

        > npm install -g localtunnel
        > lt --port 8080
        

        然后您的本地应用程序将公开可见。

        【讨论】:

          猜你喜欢
          • 2015-08-15
          • 1970-01-01
          • 2022-08-17
          • 2013-08-16
          • 1970-01-01
          • 2013-04-19
          • 2013-09-06
          • 1970-01-01
          • 2019-02-06
          相关资源
          最近更新 更多