在 jsonwebtoken 代码中收到错误"在类型错误中日志记录时出现问题:无法读取未定义的属性(读取'sign')"



我得到错误"登入TypeError:无法读取未定义的属性(读取'符号')"在我的控制台,我需要帮助来解决它。

我的代码

import { mAdmin } from "../../library/magic-server";
import { jwt } from "jsonwebtoken";
export default async function login(req, res) {

if (req.method === "POST") {
try {
const auth = req.headers.authorization;
const didToken = auth ? auth.substr(7) : "";
console.log({ didToken });
const metadata = await mAdmin.users.getMetadataByToken(didToken);
console.log({ metadata });
const token = jwt.sign(
{
...metadata,
iat: Math.floor(Date.now() / 1000),
exp: Math.floor(Date.now() / 1000 + 7 * 24 * 60 * 60),
"https://hasura.io/jwt/claims": {
"x-hasura-allowed-roles": ["user", "admin"],
"x-hasura-default-role": "user",
"x-hasura-user-id": `${metadata.issuer}`,
},
},
'<my secret key>',
{ algorithm: 'HS256' },
function(err, token){
console.log(token);
console.error(err);
}
);
console.log({ token });
res.send({ done: true });
} catch (error) {
console.error("something went wrong logging in", error);
res.status(500).send({ done: false });
}
} else {
res.send({ done: false });
}
}

使用邮差,我发布了一个带有令牌的授权到localhost:3000/api/login。在控制台中,我能够记录元数据和didToken,因此问题似乎在jwt行。

控制台也说"at login (webpack-internal:///(api)/./pages/api/login.js:22:74)"在错误的下面,但是22行没有第74个字母

这里不需要花括号:

import { jwt } from "jsonwebtoken";

试着写:

import  jwt  from "jsonwebtoken";

相关内容

  • 没有找到相关文章

最新更新