OAuth 2.0
OAuth 2.0は、承認の業界標準です。 OAuth 2.0のフレームワークは、ウェブおよびPCアプリ、モバイルデバイスなどの承認フローを指定します。
これにより、ユーザーは、以前に正常に認証された認証プロバイダーを介して、追加のリソースへの認証のために、別のウェブサイト/サービスに制限付きアクセス認証トークンを与えることができます。 OAuth 2.0はフレームワークであり、プロトコルではないことを覚えておくことが重要です。
例えば、Googleアカウントを使用して別の第三者サービスを登録/ログインする場合に使われるとOAuth 2.0を利用されます。 OAuth 2.0は、ユーザー、Google、および第三者サービス間で承認を適切に維持する方法を規定しているため、第三者サービスはユーザーのGoogleアカウントからの特定の情報のみに承認されます。
OpenID Connect (OIDC)
OpenID Connectは、OAuth2.0フレームワークの上にある単純なIDレイヤーです。 多くのアーキテクトは、OAuth 2.0を悪用して認証も管理していますが、これはベストプラクティスではありません。 OpenID Connectは、認証に必要な情報も提供するために、OAuth 2.0フレームワークの上に情報(約10%多く)を追加します。
重要な点は、OAuth 2.0はクライアントの詳細を気にしないということですが、OpenID Connectは、関連するユーザーの詳細を含むIDトークンを追加します。
OAuth2.0の誤用
承認と認証の両方を行うためにOAuth 2.0を誤用することがたくさんありますが、これはOAuth 2.0が行うように設計されたものではありません。 OAuth 2.0はフレームワークであるため、実装に関して多くの柔軟性があります。 多くの開発者は、これを誤って使用して、最も安全な方法ではない単純な認証も実行します。 OpenID Connectは厳密なプロトコルであるため、柔軟性はほとんどありません。つまり、OpenID Connectを実装すれば、安全になります。
OAuth 2.0を使用することは
- 承認
- APIへのアクセスを許可する
- 他のシステムのユーザーデータにアクセスする
OpenIDConnectを使用することは
- 認証
- ユーザーのログイン
- アカウントを他のシステムで利用できるようにする
- 基本的なユーザープロファイル情報が含まれています
これは、OAuth 2.0とOpenIDConnectの違いの簡単な概要です。 システムのセキュリティと認証に重点を置くことが重要です。クラウドシステムの設計について質問がある場合は、お問い合わせください。