2016-08-01 26 views
2

私の質問は、OAuth 2.0認証を実装することでOpenID Connectプロバイダの認証が可能ですか?OAuth 2.0とOpenID Connect

たとえば、Vert.xはOAuth 2.0認証を提供します。実装されていれば、OpenID Connectプロバイダに対する認証を有効にするだけで十分ですか?

ありがとうございます。

答えて

1

はい、OpenID Connectは、OAuth 2.0との互換性があります。したがって、OAuth 2.0クライアントライブラリはOIDCサーバーに対して認証を受け、必要に応じて標準のOAuth 2.0アクセストークンを使用してUserInfo Endpointからユーザープロファイルを読み取ることができます。

1

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_tokenid_tokenの両方を送信します。あるいは、OpenId Connect Providerはid_tokenを送信しないかもしれませんが、ユーザデータを返すUserInfo Endpointへの呼び出しを期待しています。

"raw" OAuth 2.0クライアントを使用して、OpenID Connect Providerからaccess_tokenを取得することができます。その後、そのトークンを取得して、UserInfoエンドポイントに追加のHTTPリクエストを実行し、データをデコードしてOpenId Connect機能を実現することができます。

関連する問題