私の質問は、OAuth 2.0認証を実装することでOpenID Connectプロバイダの認証が可能ですか?OAuth 2.0とOpenID Connect
たとえば、Vert.xはOAuth 2.0認証を提供します。実装されていれば、OpenID Connectプロバイダに対する認証を有効にするだけで十分ですか?
ありがとうございます。
私の質問は、OAuth 2.0認証を実装することでOpenID Connectプロバイダの認証が可能ですか?OAuth 2.0とOpenID Connect
たとえば、Vert.xはOAuth 2.0認証を提供します。実装されていれば、OpenID Connectプロバイダに対する認証を有効にするだけで十分ですか?
ありがとうございます。
はい、OpenID Connectは、OAuth 2.0との互換性があります。したがって、OAuth 2.0クライアントライブラリはOIDCサーバーに対して認証を受け、必要に応じて標準のOAuth 2.0アクセストークンを使用してUserInfo Endpointからユーザープロファイルを読み取ることができます。
OpenId ConnectはOAuth 2.0仕様の拡張版であるため、一般的にはそうです。
のOAuth 2.0とOpenIDの接続間main differenceはOAuthの(get-token
要求の応答で)最終的に2.0サーバはaccess_token
(通常UUID文字列が、JWTであることができる)を送信し、クライアントアプリがそれを使用できることですOAuth 2.0サーバー(REST)APIにアクセスします。このAPIへの呼び出しは、OAuth 2.0仕様を超えています(Facebook、Googleなどが独自のOAuthコネクタを持つ理由です)。
OpenIDの接続プロバイダーは、後者がJWTあるとユーザデータ(姓、名、電子メール、等)が含まれている、最後にaccess_token
とid_token
の両方を送信します。あるいは、OpenId Connect Providerはid_token
を送信しないかもしれませんが、ユーザデータを返すUserInfo Endpointへの呼び出しを期待しています。
"raw" OAuth 2.0クライアントを使用して、OpenID Connect Providerからaccess_token
を取得することができます。その後、そのトークンを取得して、UserInfoエンドポイントに追加のHTTPリクエストを実行し、データをデコードしてOpenId Connect機能を実現することができます。
(標準に準拠した)OAuth 2.0でユーザーを認証できないため、いいえ。 http://oauth.net/articles/authentication/