gpt4 book ai didi

jwt - PostGraphile "invalid algorithm"错误与 RS256 加密的 JWT toaken

转载 作者:行者123 更新时间:2023-12-05 07:09:38 25 4
gpt4 key购买 nike

我在节点项目中使用 JWT 验证和 PostGraphile 4.6.0。这是代码片段:

createServer(
postgraphile(env.DATABASE_URL, "public", {
jwtVerifyAlgorithms: ["RS256"],
jwtSecret: "./publickey.pem",
jwtPgTypeIdentifier: "public.jwt_token",
rejectUnauthorized: false,
graphiql: true,
enhanceGraphiql: true,
graphqlRoute: env.POSTGRAPHILE_ROUTE + "/graphql",
graphiqlRoute: env.POSTGRAPHILE_ROUTE + "/graphiql",
})).listen(port, () => {
console.log("Listening at port:" + port);});

但是当我使用 Postman 发送 RS256 加密的 JWT token 时,出现错误:

{
"errors": [
{
"message": "invalid algorithm"
}
]

我在 Postgres 中创建了一个函数来返回 JWT token ,它总是返回 HS256 加密的 JWT token 。我在 Postman 中使用 PostGraphile 返回的 HS256 加密 JWT token ,JWT token 已验证并且 GrqphQL 查询返回正常。

似乎“jwtVerifyAlgorithms”选项没有生效。

有没有办法使它适用于 RS256 加密的 JWT token ?

最佳答案

jwtSignOptions中设置签名算法

以下配置应该有效:

{
...
jwtPublicKey: fs.readFileSync(process.env.PUBLIC_KEY_FILE_PATH, 'ascii'),
jwtSecret: fs.readFileSync(process.env.SECRET_KEY_FILE_PATH, 'ascii'),
jwtSignOptions: { algorithm: 'RS256' },
jwtTokenIdentifier: 'foo.bar',
jwtVerifyAlgorithms: ['RS256'],
...
}

关于jwt - PostGraphile "invalid algorithm"错误与 RS256 加密的 JWT toaken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61491193/

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