Google 作为身份提供者的 Google SSO SAML 设置中的 ACS url 必须以 https 开头。因此,我无法使用 localhost url。有没有办法在本地服务器上测试 Google SSO SAML?我需要输入什么网址(或其他详细信息)?
5 回答
因此,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
.
ngrok 用于通过一个简单的命令将本地主机上的应用程序公开到互联网。
./ngrok http 3000
当在终端中键入上述命令时,将在终端中打开一个窗口,该窗口将告诉公共 url,您可以通过 Internet 访问以连接到托管在 localhost 上的端口 3000 上的应用程序。有关更多信息,请查看 https://ngrok.com/
如果对你有帮助请点赞!!
您是否尝试过以下测试身份提供者(dockerized): https ://github.com/kristophjunge/docker-test-saml-idp
我有同样的问题,我使用带有自签名证书的本地 iis 在 localhost 上运行我的应用程序,它工作得很好。
这种方式很容易调试来自谷歌的 saml 响应,而不是使用远程 URL。
您需要任何公共地址才能通过那里 - 身份提供者需要重定向到您的网站。您可以:
互联网上有许多隧道提供商。作为一个免费且简单的工具,您可以考虑免费且易于使用的Localtunnel 。
只需键入:
> npm install -g localtunnel
> lt --port 8080
然后您的本地应用程序将公开可见。