このチュートリアルでは、Authorization Code Flow を使用して独自の API を呼び出す方法を説明します。フローの仕組みや、このフローを使用すべき理由については、Authorization Code Flowを参照してください。通常の Web アプリにログインを追加する方法については、Add Login Using the Authorization Code Flowを参照してください。
- Regular Web App Quickstarts: フローを実装する最も簡単な方法です。
- Authentication API: 独自のソリューションを構築したい場合は、このまま読み進めて API を直接呼び出す方法を確認してください。
前提条件
-
Auth0 にアプリケーションを登録します。
- Application Type で Regular Web Apps を選択します。
- Allowed Callback URL に
{https://yourApp/callback}を追加します。 - アプリケーションの Grant Types に 認可コード が含まれていることを確認します。手順については、Grant Types を更新するを参照してください。
- アプリケーションで リフレッシュトークン を使用できるようにするには、アプリケーションの Grant Types に refresh token が含まれていることを確認します。手順については、Grant Types を更新するを参照してください。リフレッシュトークンの詳細については、リフレッシュトークンを参照してください。
-
Auth0 に API を登録します
- API がリフレッシュトークンを受け取り、既存のトークンの有効期限が切れたときに新しいトークンを取得できるようにするには、Allow Offline Access を有効にします。
手順
ユーザーの認可を行う
ユーザーの認可を行う
トークンを取得する
トークンを取得する
API を呼び出す
API を呼び出す
通常の Web アプリケーションから API を呼び出すには、HTTP リクエストの Authorization ヘッダーで、取得したアクセストークンを Bearer トークンとして渡す必要があります。
リフレッシュトークンを交換する
リフレッシュトークンを交換する
このチュートリアルに従って以下の手順を完了している場合、すでにリフレッシュトークンを取得しています。
- API でオフラインアクセスを許可するように設定した
- 認可エンドポイント 経由で認証リクエストを開始する際に、
offline_accessスコープを含めていました。
grant_type=refresh_token を使用して、Authentication API の /oauth/token エンドポイントに POST リクエストを送信します。トークンURLへのPOSTの例
パラメーター
| パラメーター名 | 説明 |
|---|---|
grant_type | これをrefresh_tokenに設定してください。 |
client_id | ご利用のアプリケーションのクライアントIDです。アプリケーション設定で確認できます。 |
refresh_token | 使用するリフレッシュトークンです。 |
scope | (任意) 要求するスコープ権限のスペース区切りリストです。送信しない場合は元のスコープが使用されます。送信した場合は、より限定されたスコープのセットを要求できます。なお、これは URL エンコードする必要があります。 |
レスポンス
正常に完了した場合、新しいaccess_token、その有効期間 (秒単位) (expires_in) 、付与された scope の値、および token_type を含むペイロードとともに HTTP 200 レスポンスが返されます。最初のトークンのスコープに openid が含まれていた場合、レスポンスには新しい id_token も含まれます。