アクセス権限付与タイプ
OAuthフローでアプリケーションの最も重要なステップは、アプリケーションがアクセス・トークン(オプションでリフレッシュ・トークン)を受け取ることです。権限タイプは、トークンの取得に使用されるメカニズムです。OAuthは、様々な認可メカニズムを表す複数のアクセス付与タイプを定義します。
クライアント・アプリケーションに指定された権限付与タイプに応じて、アプリケーションは様々な方法でアクセス・トークンをリクエストして、保護されたエンドポイントにアクセスできます。権限付与とは、保護されているリソースにアクセスするためのリソース所有者の認可を表す資格証明です。トラスト・アプリケーション(バックエンド・サービスなど)は、ユーザーのかわりにアクセス・トークンを直接リクエストできます。これは、OAuth 2レッグ認可フローです。通常、OAuth Webアプリケーションでは、最初にユーザーのアイデンティティを検証し、必要に応じてユーザーの承諾を得る必要があります。これは、OAuth 3レッグ認可フローです。
たとえば、リソース所有者付与タイプを使用する場合は、アクセス・トークンを取得するための認可付与として、リソース所有者のパスワード資格証明(ユーザー名とパスワード)を直接使用できます。クライアント資格証明権限付与タイプを使用する場合は、クライアントがOAuthサービスを使用して認証し、アクセス・トークンをリクエストします。アサーション権限付与を使用する場合は、アクセスをリクエストするときにユーザー・アサーションがクライアント情報とともに送信されます。
複数の権限付与タイプを1つのアプリケーションに関連付けることができますが、アプリケーションで使用する必要がある権限付与タイプのみを選択することをお薦めします。権限付与タイプを追加するたびに、アプリケーションはいずれかの権限付与タイプを使用してアイデンティティ・ドメインと通信できるようになります。ただし、アプリケーションは実行時に、使用する権限付与タイプを選択します。
mTLSクライアント認証の強制
トークン・リクエストがセキュア・トランスポート・レイヤー(mTLS)を介して行われる場合、mTLSクライアント認証はすべての権限付与タイプに適用されます。次の段落の詳細を参照してください。
- トークン・リクエストがセキュアなトランスポート・レイヤー(mTLS)を介して行われる場合、OAuthサービスは、証明書検証とOAuth権限(クライアント資格証明、ユーザー・パスワードなど)の両方をチェックします。
- 付与(クライアント資格証明、ユーザー・パスワード)が正しい場合でも、証明書が正しくない場合、またはクライアント・プロファイルの構成と一致しない場合、トークン・リクエストは拒否されます。同様に、証明書が正しい場合、トークン・リクエストは拒否されますが、クライアント資格証明またはユーザー・パスワードのメイン権限が正しくありません。