Spring Boot

OAuth2 と Authorization Server

OAuth2 と Authorization Server、フロー(authorization code、client credentials)、resource server、scopes

20 面接問題·
Senior
1

OAuth2 とは何ですか?

回答

OAuth2 は、ユーザーの credentials を公開することなく、サードパーティアプリケーションがユーザーに代わって HTTP サービスへの限定的なアクセスを取得できるようにする認可プロトコルです。パスワードではなく access token を介して動作します。OAuth2 は委任認証(Google、GitHub などによるログイン)やセキュアな REST API で広く使用されています。

2

Web アプリケーションにとって最も安全な OAuth2 フローはどれですか?

回答

Authorization Code flow は、access token がブラウザに公開されることがないため最も安全なフローです。バックエンドアプリケーションは、セキュアなチャネル(backend-to-backend)を介して一時的な authorization code を access token と交換します。PKCE(Proof Key for Code Exchange)を使用すると、このフローはインターセプト攻撃に対してさらに安全になります。

3

Client Credentials flow はどのような場合に使用すべきですか?

回答

Client Credentials flow は、ユーザーコンテキストのない machine-to-machine(service-to-service)通信のために設計されています。クライアントアプリケーションは、独自の credentials(client_id と client_secret)で直接認証して access token を取得します。バッチジョブ、マイクロサービス、または自身の名義で動作するバックエンド API に使用されます。

4

OAuth2 における PKCE(Proof Key for Code Exchange)とは何ですか?

5

OAuth2 で Implicit flow が非推奨になっているのはなぜですか?

+17 面接問題

次の面接に向けてSpring Bootをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める