4. Public Clients and Certificate-Bound Tokens
4. Public Clients and Certificate-Bound Tokens
Mutual-TLS OAuth クライアント認証と証明書バインド access token は互いに独立して利用できる. 例えば mutual-TLS OAuth クライアント認証なしに証明書バインド access token を用い, public client (client_id に関連付く認証クレデンシャルを持たないクライアント) の TLS クライアント証明書へ access token をバインドすることが可能である. authorization server は自己署名証明書方式と同様に TLS スタックを構成し, ハンドシェイクで提示された証明書が信頼 CA によって署名されているか検証しない. クライアントの各インスタンスは authorization server と resource server の両方との mutual TLS 用に自己署名証明書を作成する. authorization server は OAuth 層で mutual-TLS 証明書を用いてクライアントを認証せず, 対応する秘密鍵の保有を証明した証明書に発行 access token をバインドする. access token は証明書にバインドされ, 証明書と対応する秘密鍵を保持し resource server への接続で mutual TLS を交渉するクライアントのみが使用できる. そのようなクライアントに refresh token を発行する場合, authorization server は refresh token も当該証明書にバインドし, 新しい access token 取得時に refresh token が提示された際にバインドを確認すべきである. refresh token のバインドの実装詳細は authorization server の裁量である.