繁体   English   中英

如何允许从一个平台进行多次登录

[英]How to allow multiple login from one platform

我希望你过得好!

我们正在开展一个由 3 个项目/网站组成的项目。 它基本上类似于资源管理平台、显示信息和更新的平台以及管理这两个平台的平台。 (比如 Office365 和 PowerPoint、Word、Excel,其中 Office365 是它们之间的主要应用程序)。

在我们的项目中,我们希望集成一个导航抽屉,用户可以在其中从我们的 3 个网站导航到不同的应用程序,而无需重新登录。 在这种情况下,这很容易。 但是,如果用户从浏览器访问其他网站(例如:“www.exameplwebsite.website2.com”),如果他已经从我们的以前的应用程序登录,我们是否可以直接登录用户?

我们考虑过本地存储,但是本地存储和可访问的 cookie 取决于我们访问的域。

有没有办法做到这一点? 或者使用导航抽屉是唯一可能的方法吗?

(对于上下文,我们将使用 ReactJS)

我认为使用 JSON Web Token (JWT) 进行身份验证并不难。 当您将用户从一个站点重定向到另一个站点时,请使用发布请求执行此操作并在其中包含 JWT 令牌。 新站点可以捕获该令牌并将令牌发送到浏览器,浏览器可以捕获它并将其保存到自己的本地存储中。

我可以想到两个解决方案->

  1. 使用微前端(推荐)如果所有三个应用程序都有不同的域名(app1.com、app2.com、app3.com),那么你是对的,你不能使用 cookie 和本地存储共享任何令牌。 在这里,您可以将登录/注册页面和导航抽屉放入一个父应用程序中,并使用微前端加载所有其他应用程序。

  2. 使用 SSO SAML 和 OIDC 是为此特定目的而制作的,但这是一个非常复杂的主题。 基本上,您的用户需要登录一次(在 google 或 OneLogin 或您自己的身份服务器等地方)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM