Microsoft Entra ID を使った OpenID Connect 認証

OpenID Connect (OIDC) は、(認可に使用される) OAuth2 プロトコルに基づく認証プロトコルです。 OIDC では、標準化された OAuth2 からのメッセージ フローを使用して ID サービスが提供されます。

OIDC の設計目標は、"簡単なことは簡単に、複雑なことも可能にする" ことです。 OIDC を使用すると、開発者はパスワード ファイルを所有して管理しなくても、Web サイトやアプリ全体でユーザーを認証できます。 これにより、アプリケーションに接続されているブラウザーやネイティブ アプリを現在使用しているユーザーの ID を安全に確認する方法がアプリケーション ビルダーに提供されます。

ユーザーの認証は、ID プロバイダーで行う必要があります。ここで、ユーザーのセッションまたは資格情報がチェックされます。 そのためには、信頼されたエージェントが必要です。 通常は、そのためにネイティブ アプリでシステム ブラウザーが起動されます。 埋め込みビューは、アプリによるユーザー パスワードのスヌーピングを防ぐ方法がないため、信頼されていないと見なされます。

認証に加えて、ユーザーに同意を求めることもできます。 同意は、アプリケーションから保護されたリソースにアクセスできるようにするためのユーザーの明示的なアクセス許可です。 同意はリソースごとに 1 回しか入力する必要がないため、認証とは異なります。 ユーザーまたは管理者が手動で許可を取り消さない限り、同意は有効です。

使用する状況

ユーザーの同意と Web サインインが必要です。

Architectural diagram

システムのコンポーネント

  • [ユーザー] :アプリケーションからサービスを要求します。

  • 信頼されたエージェント:ユーザーが操作するコンポーネントです。 通常、信頼されたエージェントは Web ブラウザーです。

  • アプリケーション:アプリケーション (またはリソース サーバー) は、リソースまたはデータが存在する場所です。 ID プロバイダーが信頼され、信頼されたエージェントが安全に認証、認可されます。

  • Microsoft Entra ID: OIDC プロバイダーは、ID プロバイダーと呼ばれることもあります。ユーザーの情報とそのアクセス、そしてフロー内の当事者間の信頼関係に関するすべてのことは、OIDC プロバイダーによって安全に管理されます。 ここで、ユーザーの ID が認証され、リソースへのアクセス許可と取り消しが行われ、トークンが発行されます。

Microsoft Entra ID を使って OIDC を実装する