gpt4 book ai didi

reactjs - 如何从 NextJS/ReactJS 中的 JWT cookie 中获取用户信息

转载 作者:行者123 更新时间:2023-12-04 12:08:06 61 4
gpt4 key购买 nike

我正在学习 Next.JS 和 React,想知道是否可以从存储 JWT 的 cookie 中获取用户详细信息。

我已经设法将 JWT 设置为 cookie 并且可以成功记录它并且还设法对其进行解码,但无法找到有关如何从中获取用户名、ID 等的任何信息。这是我到目前为止所拥有的:

import React from "react";
import App from "../components/App.js";
import cookie from "react-cookies";
import jwt_decode from "jwt-decode";

export default class Dashboard extends React.Component {
static async getInitialProps() {
const token = cookie.load("jwt");
return { token };
}

constructor(props) {
super(props);
this.state = props.token;
}

render() {
const current_user = jwt_decode(this.props.token, { header: true });

return (
<App>
<p>Username: {current_user.username}</p>
</App>
);
}
}

理想情况下,我希望能够将 cookie 值设置为用户变量并从中提取属性,例如current_user.用户名。除非我完全弄错了并且错过了一些非常重要的东西!任何帮助将不胜感激!

最佳答案

你可以用这个parseJwt提取用户数据的函数:

function parseJwt(token) {
if (!token) { return; }
const base64Url = token.split('.')[1];
const base64 = base64Url.replace('-', '+').replace('_', '/');
return JSON.parse(window.atob(base64));
}

console.log(parseJwt('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'))


它将提取 jwt token 中的数据并返回一个对象

关于reactjs - 如何从 NextJS/ReactJS 中的 JWT cookie 中获取用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54036341/

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