如何在单独的 Angular 应用程序之间安全地共享访问令牌?

问题描述 投票:0回答:1

我有两个单独工作的 Angular 应用程序,但是,用户可能对它们都拥有权限。我想在它们之间实现自动登录 - 因此,如果用户登录到应用程序 A,然后单击重定向按钮到应用程序 B,那么他将自动登录。
登录到任何应用程序后,令牌 (JWT) 将存储在会话存储中。我正在考虑将令牌传递给其他应用程序,该应用程序会自动登录用户。有没有安全的方法来实现这一点?请注意,这些应用程序位于不同的域下,并且不共享任何代码。

angular jwt websecurity
1个回答
0
投票

如果您使用重定向按钮,查询或哈希参数可能是您的解决方案。您可以将参数添加到重定向 URL,并让其他应用程序尝试读取该参数并将其存储在加载时(如果该参数不为 null/未定义)。之后您需要从 URL 中删除该参数。

您将在重定向按钮中获得一个 URL,如下所示:

http://app_a.com/#token=<token here>

并能够在您的其他应用程序中检索它:

let hash = window.location.hash
// store your token
window.location.hash = ''
© www.soinside.com 2019 - 2024. All rights reserved.