この投稿は最初に私のブログに公開されました。以下のリンクを使用して元のソースを確認してください:
認証と認可は、アプリケーションとデータのセキュリティを確保するために非常に重要です。これらのプロセスを管理するために広く使用されている 3 つのプロトコルは、OAuth、SAML、OpenID です。
Facebook、Google、LinkedIn などのアプリを使用して他の Web サイトにログインすると、OAuth、SAML、OpenID Connect などの重要なプロトコルが使用されます。 。これらのプロトコルは、さまざまなサービスへのアクセスを可能にしながら、情報を安全に保つのに役立ちます。
SAML は、当事者間、特にアイデンティティ プロバイダー (IdP) とサービス プロバイダー (SP) の間で認証および認可データを交換するためのオープン スタンダードです。これは主にシングル サインオン (SSO) シナリオに使用され、ユーザーが一度認証すれば複数のアプリケーションにアクセスできるようになります。
役割/俳優:
ユーザー: アプリケーションにアクセスする個人。
アイデンティティ プロバイダー (IdP): ユーザーを認証し、ID アサーションを提供するサービス。
サービス プロバイダー (SP): ユーザーがアクセスしようとしているアプリケーションまたはサービス。
リクエスト フロー図:
シングル サインオン (SSO): ユーザーは複数のサービスに対して 1 回認証します。
XML ベース: メッセージに XML を使用するため、堅牢になります。
安全なアサーション: ユーザー ID と属性を安全に送信します。
OAuth は、トークンベースの認証と認可に一般的に使用されるアクセス委任のオープン標準です。これにより、サードパーティのアプリケーションが資格情報を公開せずにユーザー データにアクセスできるようになります。 OAuth は主に認証に使用され、ユーザーがあるサイトでホストされているリソースへの限定的なアクセスを別のサイトに許可できるようにします。
役割/俳優:
リソース所有者: データを所有し、データへのアクセスを許可するユーザー。
リソース サーバー: ユーザーのデータをホストするサーバー (Google、Facebook など)。
クライアント: ユーザーのデータへのアクセスを要求するサードパーティ アプリケーション。
認可サーバー: リソース所有者の認証後にクライアントにアクセス トークンを発行する役割を担うサーバー。
リクエスト フロー図:
委任アクセス: ユーザーは認証情報を共有せずにアクセスを許可できます。
アクセス トークン: アクセス期間を制限する有効期間の短いトークン。
スコープ: クライアントに許可されるアクセスの範囲を定義します。
OpenID Connect は、OAuth 2.0 上に構築された認証レイヤーです。 ID 検証を追加し、認可サーバーによって実行される認証に基づいてクライアントがユーザーの ID を検証する方法を提供します。
役割/俳優:
エンド ユーザー: 認証を希望するユーザー。
クライアント: ユーザー認証を要求するアプリケーション。
認可サーバー: ユーザーを認証し、トークンを発行するサーバー。
リクエスト フロー図:
ID トークン: ユーザー情報とクレームを提供する JWT。
OAuth とのシームレスな統合: 認証と認可を組み合わせます。
ユーザー情報エンドポイント: 追加のユーザー情報を取得できます。
似ているようですが、両方とも異なるものの補完的な目的を果たします:
OAuth: 認可に使用されます。これにより、アプリはパスワードを必要とせずに、別のサービス (Facebook や Google など) のリソース (プロフィールや写真など) にアクセスできるようになります。データへの制限付きアクセスを許可する場合は、OAuthを使用します(例: サードパーティのアプリがカレンダーにアクセスするなど)。
OpenID Connect (OIDC): OAuth の上に構築され、認証に使用されます。これにより、あなたの身元が検証され、アプリがあなたが誰であるかを認識できるようになります。 Google などのサービスを使用してウェブサイトまたはアプリにログインし、自分が誰であるかを証明する必要がある場合は、OpenID Connect を使用します。
OAuth を使用する:
OpenID Connect を使用する:
特徴 | OAuth | SAML | OpenID Connect |
---|---|---|---|
目的 | 承認 | 認証 | 認証と認可 |
形式 | JSON、トークン | XML | JSON |
ユースケース | API アクセス、モバイル アプリ | Web アプリケーション、SSO | ウェブおよびモバイル アプリケーション |
複雑 | 適度 | 高い | 適度 |
ユーザーエクスペリエンス | IdP にリダイレクト | IdP にリダイレクト | 認可サーバーにリダイレクト |
OAuth、SAML、OpenID Connect を理解することは、ユーザーの認証と認可を効果的に処理する安全なアプリケーションを構築するために不可欠です。各プロトコルには目的があり、データを安全に保ちながら必要なものに確実にアクセスできるようにします。
OAuth 2.0 の簡単な説明
SAML とは何ですか?
OpenID Connect の概要
違いを理解する: OAuth、SAML、OpenID Connect
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3