OpenID ConnectはOAuth 2.0に基づいて構築されているため、OAuth 2.0で可能なことはすべてOpenID Connectでも可能であると想定しています。
特に、私のWebサイトには、ユーザーに属し、OpenID Connectを実装してユーザーを認証する情報が格納されているとしましょう。ユーザーが別のWebサイトを介して認証している場合、そのWebサイトは同じOpenID Connectフローを使用してユーザーから許可を取得し、私のWebサイト上のそのユーザーの情報へのアクセスを許可できます。
その声明は正しいですか? OpenID Connectとは関係なくOAuth 2.0を実装する必要があるシナリオはありますか?
簡単に言えば、それは未定義です。両方をサポートするライブラリが必要な場合は、OAuth 2とOIDCの両方をサポートすることを明示的に示していることを確認してください。
ベン図を描く場合、OAuth 2とOIDCは互いに交差しますが、OAuth 2はOIDCが拡張しないいくつかのフローも定義し、OIDCは追加しますOAuth 2.にないフロー。
OIDCフロー :
OIDC仕様は、明示的にOAuth 2の認証コードと暗黙のフローを拡張しますが、他のものについては何も述べていません。したがって、特定のOIDC実装は、残りのOAuth 2フロー。部分的には、OAuth 2のようにアクセストークンのみを返しますが、IDトークンは返しません。
では、なぜOIDCが明示的にすべてのOAuth 2フローをカバーしていないのですか?これが私が思うことです: