OpenID Connect と OAuth 2.0 の違いを学ぶ参考情報まとめ

Tadashi Shigeoka ·  Tue, March 28, 2023

OpenID Connect と OAuth 2.0 の違いを理解する参考情報をまとめたのでご紹介します。

背景 OpenID Connect と OAuth 2.0 の違いを質問された

OpenID Connect と OAuth 2.0 の違いを質問されたので、理解する上で参考になりそうな情報をまとめてみました。

<h2>OpenID Connect と OAuth 2.0 の違い</h2>

「OpenID Connect と OAuth 2.0 の違い」について ChatGPT に質問して得た回答は以下の通りです。

簡単に言えば、OAuth 2.0 はアクセス権限のためのフレームワークであり、OpenID Connect は認証のためのフレームワークであるという点が主な違いです。しかし、OpenID Connect は OAuth 2.0 を拡張しているため、認証と認可の両方の機能を提供することができます。
<h3>OAuth 2.0の主な特徴:</h3>
<ol>
    <li>
        目的:OAuth 2.0は、第三者のアプリケーションがリソースオーナーの代わりにアクセス権限を取得して、リソースにアクセスするためのフレームワークです。
    </li>
    <li>
        認可:アクセストークンを使用して、特定のリソースに対するアクセスを許可します。リソースオーナーは認証に使用されません。
    </li>
    <li>
        スコープ:OAuth 2.0では、アクセストークンにアクセスする権限を定義するスコープがあります。
    </li>
    <li>
        ユースケース:アクセス制御のために、SNSアプリケーションやAPIサーバーなどで一般的に使用されます。
    </li>
</ol>

<h3>OpenID Connectの主な特徴:</h3>
<ol>
    <li>
        目的:OpenID Connectは、認証を行い、エンドユーザーを識別するためのプロトコルです。OAuth 2.0をベースにしており、認証機能を拡張しています。
    </li>
    <li>
        認証:IDトークンを使用してエンドユーザーの認証を行います。また、OAuth 2.0のアクセストークンも取得します。
    </li>
    <li>
        スコープ:OAuth 2.0のスコープに加えて、OpenID Connectでは"openid"スコープが必要です。
    </li>
    <li>
        ユースケース:アプリケーションに対してシングルサインオン(SSO)を提供したり、エンドユーザーのプロファイル情報を取得するために使用されます。
    </li>
</ol>

OpenID Connect と OAuth 2.0 の違いを学ぶ参考情報

以下の記事を読めば OpenID Connect と OAuth 2.0 の違いをざっくり理解できます。上記の ChatGPT からの回答と併せて共有しましょう。

以上、OpenID Connect と OAuth 2.0 の違いを説明した、現場からお送りしました。