gpt4 book ai didi

javascript - 将 JWT token ID 存储在 $rootScope 中

转载 作者:行者123 更新时间:2023-12-02 15:41:57 24 4
gpt4 key购买 nike

我正在开发我的第一个 Angular 应用程序并使用 JWT 来验证用户身份。用户成功登录后,我会将 token 存储在 $rootScope 对象中,即

$rootScope.sessionStorage = {
"token" : null,
"loggedIn" : false,
"userId" : null
};

然后我在进行 API 调用时使用它。

这是存储将在应用程序中使用的变量的好地方吗?我知道如果用户刷新或关闭窗口,该值将会丢失,但这不是问题。

最佳答案

如果您不担心刷新会删除 token ,那么将其存储在内存中就可以了。

但是,如果您要将其存储在内存中,我认为存储 token 的更具语义性和可扩展性的位置将作为常量:

app.constant('TOKEN', token);

$rootScope隐式地使所有 Controller 自动可用而无需注入(inject),我认为在这种情况下您不一定需要这样做。

您可以在需要的地方注入(inject)常量(可能在拦截器中):

$httpProvider.interceptors.push('myRequestInterceptor');

拦截器的实现取决于您,但通常它只需要修补 Authorization header 带有 Bearer <token>字段。

使用本地存储非常简单。 angular-storage 使这变得非常容易(这是一个可注入(inject)的服务)。与仅将其作为常量存储在内存中相比,存储在本地存储中的投资是最小的。

关于javascript - 将 JWT token ID 存储在 $rootScope 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32486983/

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