Javascript 如何创建一个接受JWT令牌并返回用户对象的用户服务

Javascript 如何创建一个接受JWT令牌并返回用户对象的用户服务,javascript,java,angular,spring,Javascript,Java,Angular,Spring,我有三种服务 角度(前端) java(fapi) java(后端,jpa) 每个用户的请求都由头和JWT令牌(角度截取器)键组成 如何从该令牌获取用户,例如创建用户页面?或者管理员是否会理解这是用户 我试图将Map(key,value)对(token,user)保存在我的前面,但是每次都会删除这个Map 我需要在fapi中创建此地图吗?或者将令牌保存在数据库中?当用户登录时,令牌可以存储在本地存储器或cookie中 令牌将只包含您输入的加密数据。如果您需要令牌中的用户用户名,则在创建令牌时需

我有三种服务

  • 角度(前端)
  • java(fapi)
  • java(后端,jpa)
每个用户的请求都由头
和JWT令牌(角度截取器)键组成

如何从该令牌获取用户,例如创建用户页面?或者管理员是否会理解这是用户

我试图将
Map(key,value)
对(token,user)保存在我的前面,但是每次都会删除这个Map


我需要在fapi中创建此地图吗?或者将令牌保存在数据库中?

当用户登录时,令牌可以存储在本地存储器或cookie中


令牌将只包含您输入的加密数据。如果您需要令牌中的用户用户名,则在创建令牌时需要包含用户名。

当用户登录时,您可以将用户的“用户名”与“令牌”一起包含在后端响应中。然后,您可以将从后端收到的{token,username}保存到前端的localStorage

样本:

// Response from backend--------------------
{
    "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
    "username": "tester"
}

// Login service from frontend--------------------
login(user: User): Observable<User> {
    return this.http.post<User>('/login', user)
        .pipe(
            map(response => {
                localStorage.setItem('currentUser', JSON.stringify(response));
                return response;
            })
        );
}

请添加有关您的问题的更多详细信息添加一些代码
const currentUser = JSON.parse(localStorage.getItem('currentUser'));