作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在节点项目中使用 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/
我在节点项目中使用 JWT 验证和 PostGraphile 4.6.0。这是代码片段: createServer( postgraphile(env.DATABASE_URL, "public",
我是一名优秀的程序员,十分优秀!