Web技術の基礎
OAuth 2.0とOpenID Connectの関係の説明として、正しいものはどれか。
- AOAuth 2.0は資源へのアクセスの許可(認可)を委ねる仕組みで、OpenID Connectはその上に、認証の結果を伝えるIDトークンを加えて、ログインに使えるようにしたものである
- BOAuth 2.0は利用者の認証の結果を伝えるための仕組みで、OpenID Connectはそれを使わずに、利用者のパスワードを連携する各サービスへ直接送って確かめる方式である
- COpenID Connectは、HTTPの通信を暗号化するためのプロトコルで、ログインの画面を送るときにTLSの代わりに使われる
答えと解説を見る
正解:A. OAuth 2.0は資源へのアクセスの許可(認可)を委ねる仕組みで、OpenID Connectはその上に、認証の結果を伝えるIDトークンを加えて、ログインに使えるようにしたものである
OAuth 2.0のアクセストークンは「この範囲の資源を使ってよい」という許可を表すもので、だれがログインしたかを確かめる目的には作られていません。OpenID Connectは、OAuth 2.0の流れに、署名を付けたJWTの形のIDトークンを加えます。IDトークンには、発行者、利用者の識別子、宛先のクライアント、有効期限などが入っていて、クライアントは署名と中身を確かめて、利用者がだれかを知ります。この仕組みは、ほかのサービスのアカウントでログインする機能や、シングルサインオンに使われています。
- A. 正しい。認可の仕組みであるOAuth 2.0に、認証の結果を伝えるIDトークンを加えたものです。
- B. 役割が逆です。OAuth 2.0は認可の仕組みで、OpenID ConnectはOAuth 2.0の上に作られています。
- C. 通信の暗号化はTLSの役割です。OpenID ConnectはTLSで守られた通信の上で使います。