因此,我正在学习 Mosh 在 Code with Mosh 上开设的关于 React Native 的在线课程,尽管有些东西已经过时并且我必须找到解决方法,但一切都进展顺利。直到我读到最后一章“身份验证和授权”。我们在本地托管了一个预制的小型服务器,它为用户设置了 JWT 令牌系统,这一切都很好。我们做了一个 POST,发送了注册的电子邮件和密码,并取回了一个令牌。使用 jwt.io 我们可以解码令牌并获取所有信息。然而,当我尝试使用 jwt-decode 对其进行解码时,我只是收到此错误消息,而且我一生都无法理解为什么。
TLDR,令牌可以通过 jtw.io 等地方在线解码,但是安装和使用 jtw-decode 只会给我这条消息。
这是我的代码:(我跳过了一些与问题无关的内容。)
import React, { useState, useContext } from "react";
import { Image, StyleSheet } from "react-native";
import \* as Yup from "yup";
import { jwtDecode } from "jwt-decode";
const handleSumbit = async ({ email, password }) =\> {
const result = await authApi.login(email, password);
if (!result.ok) return setLoginFailed(true);
setLoginFailed(false);
const token = result.data;
const decoded = jwtDecode(token);
console.log(decoded); …Run Code Online (Sandbox Code Playgroud)