不允许使用 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
错误。
我是 运行 一个快速服务器,只是在我的端点上设置了 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
错误。