Как проверить авторизацию Hasura?
Если я отключу
x-hasura-admin-secret
в Личном кабинете и добавьте
Authorization: Bearer a_jwt_encoded_with_a_HASURA_GRAPHQL_JWT_SECRET_and_the_hasura_custom_claims
Затем я продолжаю получать эти всплывающие уведомления:
Schema introspection query failed
x-hasura-admin-secret/x-hasura-access-key required, but not found
Что мне не хватает? Как я могу проверить свои разрешения и тому подобное в проводнике Hasura GraphiQL?
Возможно, я не в том месте. Я установил это в Heroku (как вы привыкли это делать).
Я обновил
HASURA_GRAPHQL_JWT_SECRET
должны быть определены в переменных env консоли проекта Hasura, и обновили его до
{
"key": "01234567890123456789012345678912",
"type": "HS256"
}
Но когда я генерирую JWT из этой конфигурации и пробую его, он выдает те же всплывающие уведомления ...
1 ответ
По моему опыту, самый простой способ проверить разрешения - это оставить секрет администратора на месте, а затем просто установить соответствующие заголовки.
Обычно вы просто добавляете дополнительные заголовки для
x-hasura-role
и
x-hasura-user-id
и любые другие переменные сеанса, относящиеся к вашему приложению.
На скриншоте ниже вы можете видеть, что я явно установил эти значения. Любой запрос, который вы выполняете, будет оцениваться на основе разрешений, связанных с ролью (в моем случае это
organization-admin
)
Это особенно полезно, если вы хотите использовать
Analyze
функциональность для создания профилей запросов, учитывающих разрешения.