Auth0トークンで試す

Hasuraは、Auth0で使用するように設定されています。ここで、Auth0からアクセストークンを取得し、承認ヘッダーを使用してGraphQLクエリを作成することで、この設定を試し、権限が適用されているかどうか確認してみましょう。

テスト用JWTトークンを取得するため、Auth0で拡張機能を設定します。

  1. 認証APIデバッガ拡張機能をインストールします。これにより、アクセストークンの設定と生成が可能になります。

この拡張機能をインストールする手順は以下の通りです。

Auth0ダッシュボード拡張ページに移動します。

Auth0拡張デバッガ

Auth0認証APIデバッガボックスをクリックします。拡張機能をインストールのウィンドウが開きます。インストールをクリックします。

  1. 拡張機能を承認します

拡張機能がインストールされたら、Installed Extensions タブでクリックできます。URLは、https://<auth0-domain>.<region>.webtask.run/auth0-authentication-api-debugger と同様になります。

Auth0 UIでサインインを使用してログインするように促されます。必ず、Auth0アカウントを最初に作成した際に使用した資格情報でログインしてください。この手順では、基本的に拡張機能の使用を承認して、アプリのクライアント詳細を読み取れるアクセス権を許可します。

Auth0アプリを承認する

アプリを承認したら、デバッガページが表示されます。

  1. Auth0アプリケーションを設定する

APIデバッガページで、チュートリアルで前に作成したアプリの名前を選択します。

Auth0 APIデバッガ

今度は、そこに記載されたコールバックURLをコピーします。Auth0アプリケーションページに移動して、アプリの設定に移動し、「許可されたコールバックURL」にURLを追加します。

  1. オーディエンスを設定する

設定の横にあるOAuth2 / OIDCタブに切り替えて、下にスクロールして、オーディエンス値を設定します。

Auth0オーディエンス

オーディエンス値を https://hasura.io/learn として入力して、その隣の Use Audience オプションを切り替えます。 覚えている場合、前の手順の1つで上記のオーディエンス値を持つAPIを作成しました。

  1. Auth0認証APIデバッガの拡張機能設定に戻ります。ユーザーフローの下でOAuth2 / OIDCログインボタンをクリックします。これにより、ユーザーとしてログインするよう促されます。任意のアカウントでこのUIにサインアップして、正常にログインすると、JSON応答が表示された認証デバッガページに戻ります。

認証デバッガアクセストークン

ハッシュフラグメントセクションで、オブジェクト内の access_token キーを参照できます。

  1. JWTを試す

デバッガは、キー https://hasura.io/jwt/claims の下でHasuraのために設定されたJWTクレームを含むデコードされたペイロードを与えてくれます。これで、このオブジェクト内で、ロール情報が x-hasura-role キーで使用可能になり、user-id情報が x-hasura-user-id キーで使用可能になります。

これから、認証された要求を作成するためにこのaccess_tokenを使用できます。HasuraコンソールGraphiQLタブで、このような要求を行うためのヘッダー Authorization: Bearer <access_token> を追加できます。

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin
graphql-handbook