3

我有四个自定义应用程序(即 SP),使用 Auth0 或 OneLogin 作为我的 IdP。在 Auth0 中,我为每个应用程序创建一个连接器。当我登录到一个应用程序然后打开另一个应用程序时,我被重定向到 Auth0 以再次登录。

是否可以在第二个应用程序上自动将用户登录到我的 IdP(或 Auth0/OneLogin),而无需单击 Auth0 上的登录按钮,因为他们已经通过 Auth0 进行了身份验证?

不幸的是,需要将第二个应用程序嵌入到第一个应用程序中,让用户登录到第一个应用程序然后在 iFrame 中再次登录是一个糟糕的用户体验。

4

2 回答 2

1

Auth0 Dev here,是的,这是在 Auth0 中开箱即用的支持,为此,您必须在您的客户端中将 Use Auth0 as IdP 设为“ON”。执行此操作时,如果客户端处于活动状态,Auth0 将记住客户端 10 小时至 3 天。

您的场景中的流程将是

  • 用户登录到任何应用程序。
  • 用户访问其他应用程序。
  • 另一个应用程序看不到会话。
  • 另一个应用程序重定向到/authorize端点。
  • Auth0 注意到会话并立即将其重定向回您的应用程序。

这在https://auth0.com/docs/sso有进一步的详细说明和解释

于 2016-08-11T19:34:27.047 回答
1

SSO 不必再次重新输入凭据,但您只有在重定向到 IDP 并且您在后台进行身份验证(即无缝)后才能获得 SSO。

所以你仍然需要做一些事情来触发重定向。

您可以以编程方式重定向到需要身份验证的虚拟页面,然后通过您的客户端堆栈重定向,例如 OWIN OIDC。

此外,cookie 没有标准,因此除非将它们联合在一起,否则您不会跨多个 IDP 获得 SSO。

因此,如果没有联盟并且您登录到 Auth0,您仍然必须登录到 OneLogin。

于 2016-08-11T19:31:42.417 回答