首页 > 解决方案 > Angular 无法在 IOS 设备上存储 jwt 令牌

问题描述

我正在使用以下内容:

我将 JWT 令牌存储在本地存储中,这适用于计算机和 Android 手机(至少是我测试过的手机),但是当我尝试在 iPhone 或 iPad 上登录时,它会接受凭据并在瞬间显示我的登录页面然后抛出 401 未经授权的错误并退出日志(我将其设置为注销 401 错误)。

我使用带有 safari 的 webtools 进行了一些调试,看起来我的令牌没有被存储,这可以解释为什么我得到 401。

我的登录脚本非常简单

login(username, password) {
    return this.http.post<any>(`${this.apiUrl}/api-token-auth/`, { username, password })
        .pipe(map(user => {
            // store user details and jwt token in local storage to keep user logged in between page refreshes
            localStorage.setItem('currentUser', JSON.stringify(user));
            this._currentUserSubject.next(user);
            return user;
        }));
}

关于如何让这个令牌存储在 iPhone/iPad 上的任何想法?

提前致谢, jAC

标签: iosdjangoangulardjango-rest-framework

解决方案


推荐阅读