Why do I get error message "Error: GraphQL error: claims key: 'https://hasura.io/jwt/claims' not found"?
Why do I get error message "Error: GraphQL error: claims key: 'https://hasura.io/jwt/claims' not found"?
我在我的应用程序中使用 Auth0 进行身份验证和授权,并且我已经为 jwt-tokens 指定了一个规则。但是我在控制台中收到此错误消息 "Error: GraphQL error: claims key: 'https://hasura.io/jwt/claims' not found"。
为什么?我可能错过了什么?
这是因为您的 JWT 令牌格式不正确。您的 JWT 令牌必须根据此处描述的 Hasura 规范进行格式化:
https://hasura.io/docs/1.0/graphql/manual/auth/authentication/jwt.html#the-spec
这是一个例子:
{
"sub": "1234567890",
"name": "John Doe",
"admin": true,
"iat": 1516239022,
"https://hasura.io/jwt/claims": {
"x-hasura-allowed-roles": ["editor","user", "mod"],
"x-hasura-default-role": "user",
"x-hasura-user-id": "1234567890",
"x-hasura-org-id": "123",
"x-hasura-custom": "custom-value"
}
}
我在我的应用程序中使用 Auth0 进行身份验证和授权,并且我已经为 jwt-tokens 指定了一个规则。但是我在控制台中收到此错误消息 "Error: GraphQL error: claims key: 'https://hasura.io/jwt/claims' not found"。 为什么?我可能错过了什么?
这是因为您的 JWT 令牌格式不正确。您的 JWT 令牌必须根据此处描述的 Hasura 规范进行格式化:
https://hasura.io/docs/1.0/graphql/manual/auth/authentication/jwt.html#the-spec
这是一个例子:
{
"sub": "1234567890",
"name": "John Doe",
"admin": true,
"iat": 1516239022,
"https://hasura.io/jwt/claims": {
"x-hasura-allowed-roles": ["editor","user", "mod"],
"x-hasura-default-role": "user",
"x-hasura-user-id": "1234567890",
"x-hasura-org-id": "123",
"x-hasura-custom": "custom-value"
}
}