このチュートリアルでは、認可コードフローを使用して独自のAPIを呼び出す方法を紹介します。このフローの仕組みや、これを使用すべき理由について知りたい場合は、認可コードフローを参照してください。通常のWebアプリにログインを追加する方法を知りたい場合は、認可コードフローを使用してログインを追加するを参照してください。
- Regular Web App Quickstarts: このフローを実装する最も簡単な方法です。
- Authentication API: 独自のソリューションを構築したい場合は、このまま読み進めて、API を直接呼び出す方法を確認してください。
事前準備
-
Auth0 にアプリケーションを登録する.
- アプリケーションの種類 で Regular Web Apps を選択します。
- Allowed Callback URL に
{https://yourApp/callback}を追加します。 - アプリケーションの グラントタイプ に 認可コード が含まれていることを確認します。設定方法については、グラントタイプ を更新するを参照してください。
- アプリケーションでリフレッシュトークンを使用できるようにする場合は、アプリケーションの グラントタイプ に リフレッシュトークン が含まれていることを確認します。設定方法については、グラントタイプ を更新するを参照してください。リフレッシュトークンの詳細については、refresh tokensを参照してください。
-
Auth0 に API を登録する
- API が以前のトークンの有効期限が切れた際に新しいトークンを取得できるよう、API でリフレッシュトークンを受け取れるようにしたい場合は、オフラインアクセスの許可 を有効にします。
ステップ
リクエストトークン
リクエストトークン
認可コードを取得できたら、それをトークンと交換する必要があります。前のステップで取り出した認可コード (ID トークンには、デコードして取り出す必要があるユーザー情報が含まれています。アクセストークンは、Auth0 Authentication APIの/userinfoエンドポイントまたは他のAPIを呼び出す際に使用します。独自のAPIを呼び出す場合、APIで最初に行う必要があるのはアクセストークンの検証です。リフレッシュトークンは、以前のアクセストークンまたはIDトークンの有効期限が切れた後に新しいトークンを取得するために使用されます。
code) を使用して、トークン URL に POST してください。トークン URL への POST の例
パラメータ
レスポンス
すべて正常に完了すると、access_token、refresh_token、id_token、token_type の値を含むペイロードとともに HTTP 200 レスポンスが返されます:refresh_token がレスポンスに含まれるのは、offline_access スコープを含め、ダッシュボードでAPIのオフラインアクセスを許可を有効にした場合のみです。APIを呼び出す
APIを呼び出す
通常の Web アプリケーションから API を呼び出すには、アプリケーションで取得したアクセストークンを、HTTP リクエストの Authorization ヘッダーで Bearer トークンとして渡す必要があります。
リフレッシュトークンを交換する
リフレッシュトークンを交換する
このチュートリアルに沿って以下の手順を完了している場合は、すでにリフレッシュトークンを取得済みです。
- API でオフラインアクセスの許可を有効にした
- authorize エンドポイント を通じて認証リクエストを開始する際に、
offline_accessスコープを含めた。
grant_type=refresh_tokenを使用して、Authentication APIの/oauth/tokenエンドポイントにPOSTリクエストを送信します。トークン URL への POST の例
パラメータ
レスポンス
すべてが順調に進めば、新しいaccess_token、その有効期間 (秒単位、expires_in) 、付与された scope の値、および token_type を含むペイロードとともに HTTP 200 レスポンスが返されます。最初のトークンのスコープに openid が含まれていた場合、レスポンスには新しい id_token も含まれます: