付与タイプ
Verifyグラントタイプとは、クライアントがIDトークンおよびアクセストークンを取得するために使用する認証メカニズムを指します。 認証コード、 インプリシット、 認証コードとインプリシットの組み合わせ、 デバイスフロー、 リソース所有者の認証情報、 JWT、 コンテキストベースの認証、 リフレッシュトークン、 トークン交換の中から選択できます。
| 特性 | 許可コード | 暗黙的 | 「許可コード」および「暗黙的」 |
|---|---|---|---|
| 説明 | 許可エンドポイント クライアント ID および秘密鍵を使用してトークン・エンドポイント これは最も一般的に使用されるフローです。 |
許可エンドポイント 許可コードもトークン・エンドポイント |
これにより、クライアントのフロントエンドとバックエンドは互いに独立してトークンを受信できます。 クライアントは、許可エンドポイント |
| ユース・ケース | Web アプリケーションやネイティブ・モバイル・アプリケーションなどの、クライアント秘密鍵をセキュアに維持できるクライアント に使用します。 これは、ユーザーおよびクライアントの認証を行うことを目的としています。 |
ブラウザーや JavaScript ベースのアプリケーションなどの、クライアント秘密鍵を保持できないクライアント に使用します。 これは、ユーザーを認証するためのものです。 |
以下のようなクライアント に使用します。
|
| 応答タイプの値 |
|
|
|
| すべてのトークンが許可エンドポイントから返される。 | いいえ | はい | いいえ |
| すべてのトークンがトークン・エンドポイントから返される。 | はい | いいえ | いいえ |
| トークンがユーザー・エージェントに公開されない。 | はい | いいえ | いいえ |
| クライアント・アプリケーションを認証できる。 | はい | いいえ | はい |
| リフレッシュ・トークンを生成する。 | はい | いいえ | はい |
| 1 往復での通信 | いいえ | はい | いいえ |
| ほとんどのサーバー間通信 | はい | いいえ | 状況による |
| ログインのヒント (login_hint) | はい
john@ibm.comこの値は、文字列形式のユーザー名(例:)や、JSON形式(例:)などです。JSON 値を使用する場合、レルムは ID ソース・レルムを表します。 |
はい
john@ibm.comこの値は、文字列形式のユーザー名(例:)や、JSON形式(例:)などです。JSON 値を使用する場合、レルムは ID ソース・レルムを表します。 |
はい
john@ibm.comこの値は、文字列形式のユーザー名(例:)や、JSON形式(例:)などです。JSON 値を使用する場合、レルムは ID ソース・レルムを表します。 |
| 最大認証期間 (max_age) | この値は、ユーザーが最後に能動的に認証された後、許容される経過時間 (秒) です。 この属性は、クラウド・ディレクトリーのログイン・セッションにのみ適用されます。 | この値は、ユーザーが最後に能動的に認証された後、許容される経過時間 (秒) です。 この属性は、クラウド・ディレクトリーのログイン・セッションにのみ適用されます。 | この値は、ユーザーが最後に能動的に認証された後、許容される経過時間 (秒) です。 この属性は、クラウド・ディレクトリーのログイン・セッションにのみ適用されます。 |
| ワークフロー |
|
|
|
| 特性 | デバイス・フロー | リソース所有者パスワード資格情報 | JWT |
|---|---|---|---|
| 説明 | QR コードまたは URL に送信するユーザー・コードを使用してクライアントを許可できます。 | トークン・エンドポイントである /token からアクセス・トークンと ID トークンを取得するには、クライアント ID、クライアント秘密鍵、ユーザー名、およびパスワードを使用したクライアント認証とユーザー認証が必要です。 ユーザー名とパスワードは、クラウド・ディレクトリーに対して検証されます。 | RFC7523 で定義されています。 クライアントが、署名された JWT、暗号化された JWT、または署名されて暗号化された JWT を付与と引き換えに提示することを許可します。 JWT は許可サーバーによって検証され、JWT 内の ID が付与のサブジェクトとして使用されます。 |
| ユース・ケース | 以下のようなクライアント に使用します。
|
この付与タイプを有効にできますが、使用するのは他のフローが使用できない場合のみにしてください。 次の場合に使用できます。
|
許可サーバー (Verify) とエンティティー (JWT を発行) との間に確立された信頼関係があります。 クライアントは JWT 発行エンティティーから JWT を取得し、付与と引き換えに許可サーバーに提示します。 JWT 発行エンティティーは、JWT を発行するための要件 (代替の認証および許可検査など) を独自に設定している場合があります。 |
| 応答タイプの値 | 適用外 | 適用外 | 適用外 |
| すべてのトークンが許可エンドポイントから返される。 | いいえ | いいえ | いいえ |
| すべてのトークンがトークン・エンドポイントから返される。 | はい | はい | はい |
| トークンがユーザー・エージェントに公開されない。 | はい | はい | はい |
| クライアント・アプリケーションを認証できる。 | はい | はい | はい |
| リフレッシュ・トークンを生成する。 | はい | はい | はい |
| 1 往復での通信 | |||
| ほとんどのサーバー間通信 | |||
| ログインのヒント (login_hint) | いいえ | いいえ | いいえ |
| 最大認証期間 (max_age) | 適用外 | ||
| ワークフロー |
|
|
|
| 特性 | コンテキスト・ベースの許可 | リフレッシュ・トークン | トークン交換 |
|---|---|---|---|
| 説明 | 追加の認証および許可検査を実行する API 駆動型フロー。 クライアントに付与が発行される前に、多要素認証が必要になることがあります。 | クライアントID、クライアントシークレット、およびリフレッシュトークンを使用して、トークンエンドポイント /token から新しいアクセストークン、IDトークン、およびリフレッシュトークンを取得するには、クライアントおよびユーザーの認証が必要です。 リフレッシュトークンは、同じクライアントIDに属している必要があります。 このフローの実行中は、トークンに関連付けられた属性値は更新されません。 | RFC8693 で定義されています。 クライアントが、あるトークンを別のトークンと交換するために提示できるようにします。 |
| ユース・ケース |
|
このグラントタイプを使用すると、有効期間が更新された新しいアクセストークンを取得できます。 これにより、アクセストークンの有効期間を短く保つことができますが、新しいアクセストークンを取得するためにユーザーが再度ログインする必要はなくなります。 |
|
| 応答タイプの値 | 適用外 | 適用外 | 適用外 |
| すべてのトークンが許可エンドポイントから返される。 | いいえ | いいえ | いいえ |
| すべてのトークンがトークン・エンドポイントから返される。 | はい | はい | はい |
| トークンがユーザー・エージェントに公開されない。 | はい | はい | はい |
| クライアント・アプリケーションを認証できる。 | はい | はい | はい |
| リフレッシュ・トークンを生成する。 | はい | はい | はい |
| 1 往復での通信 | はい | ||
| ほとんどのサーバー間通信 | はい | ||
| ログインのヒント (login_hint) | いいえ | いいえ | いいえ |
| 最大認証期間 (max_age) | 適用外 | いいえ | |
| ワークフロー |
注:
|
|
|