上記の使い方をある程度わかっていること
HASURA_GRAPHQL_ADMIN_SECRET
を設定します。こちらは任意の値ですが、忘れないようにメモしておきましょう。こちらを設定すると、リクエストを投げても、下記エラーが発生するようになります。GraphQL error: x-hasura-admin-secret/x-hasura-access-key required, but not found
HASURA_GRAPHQL_JWT_SECRET
の登録します。(FirebaseのプロジェクトIDが必要です。){ "type":"RS256", "jwk_url": "https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com", "audience": "<firebase-project-id>", "issuer": "https://securetoken.google.com/<firebase-project-id>" }
HASURA_GRAPHQL_UNAUTHORIZED_ROLE
を設定します。値は、anonymous
にしておきましょう。この値は、認証していないユーザーのデータアクセス権限を設定する為です。上記を設定した後に、Hasuraプロジェクトのコンソールに入り、data→permissionで詳細な権限を設定します。認証していないユーザーでもアクセスできるデータは、permissionを許可します。
権限がない場合は、下記のエラーがスローされます。(例えばUserモデルへのmutation)
[GraphQL error]: Message: field "update_users_by_pk" not found in type: 'mutation_root', Location: undefined, Path: undefined
なので、HeadersにX-Hasura-Role
にadmin
やanonymous
を入れる必要があります。
また、X-Hasura-Admin-Secret
を入れておくと、実行が管理者権限になります。