我有四个自定义应用程序(即sp),使用Auth0或OneLogin作为我的IdP。在Auth0中,我为每个应用程序创建一个连接器。当我登录到一个应用程序,然后打开另一个应用程序,我被重定向到Auth0再次登录。
是否有可能在第二个应用程序上自动将用户登录到我的IdP(或Auth0/OneLogin),而无需单击Auth0上的登录按钮,因为他们已经使用Auth0进行了身份验证?
有一个不幸的需要嵌入第二个应用程序到第一个应用程序,这是一个糟糕的用户体验,让用户登录到第一个应用程序,然后在iFrame再次登录。
Auth0 Dev在这里,是的,这是支持在Auth0开箱即用,为此工作,你必须在你的客户端使用Auth0作为IdP "ON"。执行此操作时,如果客户端处于活动状态,Auth0将记住客户端10小时至3天。
您的场景中的流将是
- 用户登录任意一个应用程序。
- 用户访问其他应用程序。
- 其他应用程序没有看到会话。
- 其他应用重定向到
/authorize
端点。 - Auth0注意到会话并立即将其重定向回您的应用程序。
这在https://auth0.com/docs/sso
SSO不需要重新输入凭据,但只有当您重定向到IDP并在引线下进行身份验证时才能获得SSO,即无缝地。
所以你仍然需要做一些事情来触发重定向。
你可以编程重定向到一个需要认证的虚拟页面,然后通过你的客户端堆栈重定向,例如OWIN OIDC。
此外,cookie没有标准,因此除非将多个IDP联合在一起,否则无法获得跨多个IDP的SSO。
因此,如果没有federation并且您登录到Auth0,您仍然需要登录到OneLogin。