5

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

4

5 回答 5

3

因此,Google SAML 应用程序(Google 是身份提供者)会强制您输入以 https://* 开头的 ACS 网址。因此,我无法输入http://localhost网址。我使用python3-saml包中的django 演示将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.

于 2019-06-17T08:13:16.667 回答
2

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

./ngrok http 3000

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

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

于 2020-05-27T13:23:39.613 回答
1

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

于 2019-06-17T12:28:38.693 回答
0

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

这种方式很容易调试来自谷歌的 saml 响应,而不是使用远程 URL。

于 2020-01-01T12:01:50.467 回答
0

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

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

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

只需键入:

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

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

于 2020-02-06T11:59:01.787 回答