メインコンテンツまでスキップ

Microsoft Entra ID (OIDC) を使用してシングルサインオンを設定する

最小限の設定で、このコネクターを利用して Microsoft Entra ID(旧 Azure AD)とエンタープライズシングルサインオン (SSO) を統合できます。

ヒント:

SSO についての詳細や Logto での SSO の設定方法については、エンタープライズシングルサインオン (SSO) (SAML & OIDC) ドキュメントを参照して始めてください。

ステップ 1: Microsoft EntraID OIDC アプリケーションを作成する

  1. Microsoft Entra 管理センター にアクセスし、管理者としてサインインします。

  2. Identity > Applications > App registrations に移動します。

アプリケーションの作成
  1. New registration を選択します。

  2. アプリケーション名を入力し、アプリケーションに適したアカウントタイプを選択します。

  3. アプリケーションプラットフォームとして Web を選択します。

  4. Logto の SSO 設定ページから redirect URI をコピーして貼り付けます。redirect URI は、ユーザーが Microsoft Entra ID で認証された後にリダイレクトされる URL です。

アプリケーションの設定
  1. Register をクリックしてアプリケーションを作成します。

ステップ 2: Logto で Microsoft Entra ID OIDC SSO を設定する

Microsoft Entra OIDC アプリケーションの作成が完了したら、IdP 設定情報を Logto に提供する必要があります。Logto コンソールの Connection タブに移動し、以下の設定を入力してください:

  1. クライアント ID:Microsoft Entra によって OIDC アプリケーションに割り当てられた一意の識別子です。この識別子は、OIDC フロー中に Logto がアプリケーションを識別し認証するために使用します。アプリケーションの概要ページで Application (client) ID として確認できます。
Application Details
  1. クライアントシークレット:新しいクライアントシークレットを作成し、その値を Logto にコピーしてください。このシークレットは、OIDC アプリケーションの認証および Logto と IdP 間の通信のセキュリティ確保に使用されます。
Create Secret
  1. 発行者 (Issuer):発行者 URL は、IdP の一意の識別子であり、OIDC アイデンティティプロバイダーの場所を指定します。これは OIDC 設定の重要な部分であり、Logto が必要なエンドポイントを発見するのに役立ちます。

    これらの OIDC エンドポイントを手動で入力する代わりに、Logto は発行者 URL を利用して IdP のディスカバーエンドポイントにアクセスし、必要な設定や IdP エンドポイントを自動的に取得します。

    発行者 URL を取得するには、アプリケーション概要ページの Endpoints セクションで確認できます。

    OpenID Connect metadata document エンドポイントを見つけ、その URL から 末尾の .well-known/openid-configuration を除いた部分 をコピーしてください。Logto は OIDC 設定取得時に自動的に .well-known/openid-configuration を発行者 URL に付加します。

Endpoints
  1. スコープ (Scope)(任意):Logto はすべてのリクエストに必要なスコープ(openidprofileemail)を自動的に含めます。アプリケーションが IdP から追加の権限やアクセスレベルを必要とする場合は、スペース区切りで追加のスコープを指定できます。

保存 をクリックして設定プロセスを完了してください。

ステップ 3: 追加のスコープ(オプション)

スコープ (Scopes) は、アプリがユーザーから要求する権限 (Permissions) を定義し、アプリが Microsoft Entra ID アカウントからアクセスできるデータを制御します。Microsoft Graph の権限 (Permissions) を要求するには、両方の側で設定が必要です:

Microsoft Entra 管理センターで:

  1. Microsoft Entra ID > アプリ登録 に移動し、アプリケーションを選択します。
  2. API 権限 > 権限の追加 > Microsoft Graph > 委任された権限 に進みます。
  3. アプリに必要な権限 (Permissions) のみを選択します:
    • OpenID 権限 (Permissions):
      • openid(必須)- ユーザーのサインイン
      • profile(必須)- ユーザーの基本プロフィールの表示
      • email(必須)- ユーザーのメールアドレスの表示
      • offline_access(オプション)- Logto コネクターで Microsoft API への永続的なアクセス用のトークン保存 を有効にし、Microsoft Graph API への長期間アクセスのためにリフレッシュ トークン (Refresh token) を取得する必要がある場合のみ必要です。
    • API アクセス(オプション):アプリに必要な追加の権限 (Permissions) を追加します。一般的な Microsoft Graph 権限 (Permissions) には Mail.ReadCalendars.ReadFiles.Read などがあります。利用可能な権限 (Permissions) については Microsoft Graph permissions reference を参照してください。
  4. 権限の追加 をクリックして選択を確定します。
  5. アプリが特定の権限 (Permissions) に管理者の同意が必要な場合は、[組織名] のために管理者の同意を付与 をクリックします。
Microsoft API 権限の追加

Logto Microsoft Entra ID コネクターで:

  1. Logto は、基本的なユーザーアイデンティティ情報を取得するために openidprofileemail スコープ (Scopes) を自動的に含めます。基本的なユーザー情報のみが必要な場合は、Scopes フィールドを空白のままにできます。
  2. Microsoft API への永続的なアクセス用にトークンを保存する場合は、Scopes フィールドに offline_access を追加します。このスコープ (Scope) により、長期間の API アクセス用のリフレッシュ トークン (Refresh token) が有効になります。
  3. Microsoft Graph からさらに多くのデータを要求する場合は、Scopes フィールドに追加のスコープ (Scopes)(スペース区切り)を追加します。標準のスコープ名を使用してください。例:User.Read Mail.Read Calendars.Read
ヒント:

アプリがこれらのスコープ (Scopes) を要求して Microsoft Graph API へアクセスし操作を行う場合は、Logto Microsoft Entra ID コネクターで Microsoft API への永続的なアクセス用のトークン保存 を有効にしてください。詳細は次のセクションを参照してください。

ステップ 4: Microsoft API へアクセスするためのトークンを保存する(オプション)

Microsoft Graph APIs へアクセスし、ユーザーの認可 (Authorization) で操作を実行したい場合、Logto は特定の API スコープとトークンを取得・保存する必要があります。

  1. Microsoft Entra 管理センターの API 権限設定および Logto Microsoft Entra ID コネクターで必要なスコープを追加します。
  2. Logto Microsoft Entra ID コネクターで 永続的な API アクセスのためにトークンを保存 を有効にします。Logto は Microsoft のアクセス トークンおよびリフレッシュ トークンを Secret Vault に安全に保存します。
  3. リフレッシュ トークンが返されるようにするには、Microsoft Entra ID アプリケーションの権限に offline_access スコープを追加し、Logto Microsoft Entra ID コネクターのスコープにも含めてください。このスコープにより、アプリケーションは長期間リソースへのアクセスを維持できます。

ステップ 5: メールドメインを設定し、SSO コネクターを有効化する

コネクターの体験 (Experience) タブで、組織のメール domains を入力してください。これにより、これらのユーザーに対して SSO コネクターが認証 (Authentication) 方法として有効になります。

指定したドメインのメールアドレスを持つユーザーは、唯一の認証 (Authentication) 方法として SSO コネクターのみを利用できるように制限されます。