- Auth0 Mobile SDKs と Auth0 Single-Page App SDK: フローを最も簡単に実装できる方法で、面倒な処理の大半を任せられます。Mobile Quickstarts と Single-Page App クイックスタート では、手順を順を追って説明しています。
- Authentication API: 独自に実装したい場合は、このまま読み進めて API を直接呼び出す方法を確認してください。
/userinfo エンドポイントや独自の保護された API の呼び出しに使用できます。IDトークンの詳細については、ID Tokens を参照してください。アクセストークンの詳細については、Access Tokens を参照してください。
前提条件
- アプリケーションの種類に応じて、Application Type で Native または Single-Page App を選択します。
- Allowed Callback URL に
YOUR_CALLBACK_URLを追加します。コールバック URL の形式は、アプリケーションの種類とプラットフォームによって異なります。アプリケーションの種類およびプラットフォームごとの形式について詳しくは、Native/Mobile クイックスタートおよびSingle-Page App クイックスタートを参照してください。 - アプリケーションの Grant Types に 認可コード が含まれていることを確認します。詳しくは、Grant Types を更新するを参照してください。
code verifier を作成
code_verifier を作成します。これは、後でトークンをリクエストするために Auth0 に送信する、暗号学的にランダムな Base64 エンコード文字列です。
code_verifier の作成アルゴリズムの詳細については、 Proof Key for Code Exchange 仕様のセクション 4.1 Client Creates a Code Verifier を参照してください。
Javascript のサンプル
Java の例
Android のサンプル
Swift 5 のサンプル
Objective-C のサンプル
code チャレンジを作成
authorization_code をリクエストするために Auth0 に送信する code_challenge を、code_verifier から生成します。
code_challenge が code_verifier からどのように導出されるかについて詳しくは、OAuth Proof Key for Code Exchange 仕様のセクション 4.2 Client Creates the Code Challenge を参照してください。
JavaScript のサンプル
Java のサンプル
Swift 5 サンプル
Objective-C のサンプル
authorization_code を付けてアプリへリダイレクトして戻します。
code_verifier と code_challenge を作成したら、次にユーザーの認可を取得する必要があります。これは技術的には の開始にあたり、このステップには次のプロセスのうち 1 つ以上が含まれる場合があります。
- ユーザーを認証する。
- 認証を処理するため、ユーザーを にリダイレクトする。
- アクティブな シングルサインオン (SSO) セッションを確認する。
- 以前に同意が得られていない場合は、要求された権限レベルに対するユーザーの同意を取得する。
code_challenge と、code_challenge の生成に使用したメソッドを含めます。
パラメーター
例として、アプリにログインを追加する際の認可 URL 用 HTML スニペットは次のようになります。
レスポンス
HTTP 302 レスポンスが返されます。認可コードは URL の末尾に含まれます。
トークンを取得する
authorization_code と code_verifier をトークンに交換します。
認可コードを取得したら、それをトークンに交換する必要があります。前の手順で取得した認可コード (code) を使用して、code_verifier とともに トークンURL に POST リクエストを送信します。
トークンURLにPOSTする例
パラメーター
レスポンス
access_token、refresh_token、id_token、および token_type の各値を含むペイロードを伴う HTTP 200 レスポンスを受け取ります。
refresh_token がレスポンスに含まれるのは、offline_access スコープを指定し、Dashboard で API に対して Allow Offline Access を有効にした場合のみです。
使用例
Basic認証リクエスト
ユーザーの名前とプロフィール画像をリクエストする
nameおよびpictureクレームが含まれるようになります。IDトークンをデコードすると、次のようになります。
GitHub を使ってユーザーをログインさせる
connection パラメーターを渡し、その値を接続名 (この場合は github) に設定する必要があります。
トークンをリクエストすると、IDトークンには GitHub から返されたユーザーの一意の ID を含む sub クレームが含まれます。IDトークンをデコードすると、次のような内容になります。