gpt4 book ai didi

angular - 在两个子域之间保留授权 token

转载 作者:行者123 更新时间:2023-12-04 17:36:46 26 4
gpt4 key购买 nike

我有一个具有两个不同子域的 Angular 7 网络应用程序:sub1.myurl.comsub2.myurl.com

它们都有相同的登录端点,并且内部的所有 API 都在寻找授权 token 。

您可以在应用内切换“命名空间”,在某些情况下,这会将您从 sub1 域转发到 sub2 域,反之亦然,这也意味着页面刷新。

目前我将我的授权 token 保存在本地存储中。所以当用户从sub1 重定向到sub2 时,本地存储内容发生变化,auth-token 将丢失。

我读到过 cookie 可以解决这个问题,但同样可能存在安全问题。

我也试过使用 ngx-cookie-service但无法找到一种方法来添加在没有子域的本地主机以及 sub1.myurl.com 和 sub2.myurl.com 上的生产环境中可用的通用 cookie?

最佳答案

其实是自己想出来的。我会在这里发布我的解决方案,以防有人遇到同样的问题。

   const loc = window.location;
if (loc.hostname === 'sub1.myurl.com' || loc.hostname === 'sub2.myurl.com') {
this.cookieService.set('token', session, null, '/', '.myurl.com', true);
} else {
this.cookieService.set('token', session);
}

因此,根据 window.location.hostname,我设置了不同的 cookie。对于我必须在子域之间共享 cookie 的生产环境,在 domain 参数前面放置一个点 (.),使其也适用于该域的子域。

关于angular - 在两个子域之间保留授权 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56393723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com