如何从Json Web令牌中获取当前用户的名称?
我正在尝试从jwt获取名称和其他信息,到目前为止,我只能获取用户的ID。
这是用于在当前用户登录时获取他们的功能...
export function getCurrentUser() {
try {
const jwt = localStorage.getItem(tokenKey);
return jwtDecode(jwt);
} catch (ex) {
return null;
}
}
这就是我在ComponentDidMount所在的配置文件组件文件中拥有的全部...
import React, { Component } from "react";
import { Link } from "react-router-dom";
import NavBar from "./navBar";
import "../profile.css";
import { getCurrentUser } from "../services/authService";
class Profile extends Component {
state = {};
async componentDidMount() {
const currentUser = await getCurrentUser();
console.log(currentUser)
}
当我登录currentUser时,这就是我得到的...
{_id: "5d96a81f9a2f1a8bd485f76c", iat: 1570751361}
iat: 1570751361
_id: "5d96a81f9a2f1a8bd485f76c"
请帮助
回答如下:如果在有效负载中需要用户名,则在对令牌进行签名时需要添加用户名。如果由于某种原因无法使用用户名进行签名,请编写另一项服务以从userId或jwt中存在的任何字段返回用户名。
如何从Json Web令牌中获取当前用户的名称?
我正在尝试从jwt获取名称和其他信息,到目前为止,我只能获取用户的ID。
这是用于在当前用户登录时获取他们的功能...
export function getCurrentUser() {
try {
const jwt = localStorage.getItem(tokenKey);
return jwtDecode(jwt);
} catch (ex) {
return null;
}
}
这就是我在ComponentDidMount所在的配置文件组件文件中拥有的全部...
import React, { Component } from "react";
import { Link } from "react-router-dom";
import NavBar from "./navBar";
import "../profile.css";
import { getCurrentUser } from "../services/authService";
class Profile extends Component {
state = {};
async componentDidMount() {
const currentUser = await getCurrentUser();
console.log(currentUser)
}
当我登录currentUser时,这就是我得到的...
{_id: "5d96a81f9a2f1a8bd485f76c", iat: 1570751361}
iat: 1570751361
_id: "5d96a81f9a2f1a8bd485f76c"
请帮助
回答如下:如果在有效负载中需要用户名,则在对令牌进行签名时需要添加用户名。如果由于某种原因无法使用用户名进行签名,请编写另一项服务以从userId或jwt中存在的任何字段返回用户名。