不允许使用 JWT 令牌保护 GraphQL 端点

Not allowed to secure GraphQL endpoint with JWT token

我是 运行 一个快速服务器,只是在我的端点上设置了 JWT 保护。我正在测试我的 /graphql 端点,但收到 403 Not allowed to provide a JWT token 错误。我的其他端点工作正常,所以我认为这不是 JWT 签名或验证的问题。有什么想法吗?

var jwt = require('express-jwt');

var app = express();

var jwtCheck = jwt({
   secret: new Buffer(config.secret, 'base64'),
   audience: aud,
   issuer: iss
});

// enforce on all endpoints
app.use(jwtCheck);

app.use('/', postgraphql(config.db_string, config.db_schema, {
    development: true,
    log: true,
    secret: config.secret,
    graphiql: true,
}));

明白了,问题是没有将正确的参数传递给 PostgraphQL。如果您在授权 header 中将 JWT 令牌传递给 PostgraphQL,它需要一个秘密。如果秘密不存在,则 PostgraphQL 将抛出错误 403 Not allowed to provide a JWT 错误。