FAPI モードにおける追加検証項目
概要
バージョン 2.0 以降、Authlete は Financial-grade API(FAPI)をサポートしています。ここでは、標準の OAuth 2.0 および OpenID Connect 用の検証項目に加えて、FAPI モードにおいて追加で実行される検証項目について説明します。
なお、各項目における RO および RW は
RO |
Read Only。Financial-grade API - Part 1: Read Only API Security Profile に準拠した挙動。 |
RW |
Read and Write。Financial-grade API - Part 2: Read and Write API Security Profile に準拠した挙動。 |
をそれぞれ意味します。
認可エンドポイント
1. response_type リクエストパラメーター
RO |
チェック無し |
RW |
JARM が使われていない限り、response_type リクエストパラメーターの値は "code id_token" もしくは "code id_token token" のいずれかでなければならない。 |
2. redirect_uri リクエストパラメーター
RO |
redirect_uri リクエストパラメーター必須 |
RW |
同上 |
3. リダイレクト URI のスキーム
RO |
リダイレクト URI のスキームは https でなければならない。 |
RW |
同上 |
4. リダイレクト URI の検証
RO |
登録済みのリダイレクト URI に完全一致しなければならい。部分一致は不可。 |
RW |
同上 |
5. state リクエストパラメーター
RO |
scope リクエストパラメーターに openid が含まれていなければ、state リクエストパラメーター必須。 |
RW |
同上 |
6. nonce リクエストパラメーター
RO |
認証されたユーザーの識別子が要求されている場合、nonce リクエストパラメーター必須。 |
RW |
同上 |
7. リクエストオブジェクト
RO |
チェック無し |
RW |
認可リクエストでリクエストオブジェクトを用いなければならない。すなわち、request リクエストパラメーターもしくは request_uri リクエストパラメーターが必須。 |
8. リクエストオブジェクトの署名
RO |
チェック無し |
RW |
リクエストオブジェクトは署名されていなければならない。 |
9. リクエストオブジェクト外のリクエストパラメーター群
RO |
チェック無し |
RW |
リクエストオブジェクト外にあるリクエストパラメーター群は、全てリクエストオブジェクトの中にも重複して入れておかなければならない。 |
10. リクエストオブジェクト内の exp クレーム
RO |
チェック無し |
RW |
リクエストオブジェクトに exp クレームが含まれていなければならない。 |
11. リクエストオブジェクト内の aud クレーム
RO |
チェック無し |
RW |
リクエストオブジェクトに aud クレームが含まれていなければならない。その値は、OpenID プロバイダーの識別子と一致、もしくは当該識別子を含む配列でなければならない。 |
12. リクエストオブジェクトの署名アルゴリズム
RO |
チェック無し |
RW |
PS256 もしくは ES256 |
13. code_challenge リクエストパラメーター
RO |
code_challenge リクエストパラメーター必須。 |
RW |
クライアントタイプが public の場合、code_challenge リクエストパラメーター必須。 |
14. code_challenge_method リクエストパラメーター
RO |
code_challenge_method リクエストパラメーターの値は S256 でなければならない。plain 不可。 |
RW |
クライアントタイプが public の場合、code_challenge_method リクエストパラメーターの値は S256 でなければならない。plain 不可。 |
15. ACR を essential として要求
RO |
チェック無し |
RW |
ACR を essential として要求しなければならない。 |
16. レスポンス JWT の署名アルゴリズム
RO |
チェック無し |
RW |
PS256 または ES256。クライアントのメタデータ authorization_signed_response_alg の値をどちらかにする。 |
17. ID トークンの署名アルゴリズム
RO |
チェック無し |
RW |
PS256 または ES256。クライアントのメタデータ id_token_signed_response_alg の値をどちらかにする。 |
トークンエンドポイント
18. クライアント認証方式
RO |
次のいずれか
|
RW |
次のいずれか
|
19. クライアントアサーションの署名アルゴリズム
RO |
チェック無し |
RW |
PS256 または ES256 |
20. クライアントアサーションの鍵サイズ
RO |
鍵のサイズは、アルゴリズムが RSA 系であれば 2048 ビット以上、楕円曲線系であれば 160 ビット以上が必須。 |
RW |
同上 |
21. ID トークンの署名アルゴリズム
RO |
チェック無し |
RW |
PS256 または ES256。クライアントのメタデータ id_token_signed_response_alg の値をどちらかにする。 |
22. Holder-of-Key メソッド
RO |
チェック無し |
RW |
OAUTB (Token Binding) もしくは MTLS (Certificate Binding) を Holder-of-Key メソッドとして用いなければならない。 |
ユーザー情報エンドポイント
23. ユーザー情報レスポンスの署名アルゴリズム
RO |
チェック無し |
RW |
ユーザー情報レスポンスに署名が行われる場合(クライアントのメタデータ userinfo_signed_response_alg が未設定ではない場合)、そのアルゴリズムは PS256 または ES256 でなければならない。 |
参考情報
How did we do with this article?