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

OpenID Connect (OIDC) を使用してシングルサインオンを設定する

最小限の設定で、このコネクターはあらゆる OIDC ベースのアイデンティティプロバイダー (IdP) との統合を可能にします。

ヒント:

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

ステップ 1: IdP 上で OIDC アプリケーションを作成する

OIDC SSO 統合を開始するには、IdP 側でアプリケーションを作成します。Logto サーバーから次の設定を提供する必要があります。

  • コールバック URI: Logto コールバック URI は、リダイレクト URI または返信 URL とも呼ばれ、IdP が認証に成功した後にユーザーのブラウザをリダイレクトする特定のエンドポイントまたは URL です。ユーザーが IdP での認証に成功すると、IdP はユーザーのブラウザをこの指定された URI に認可コードと共にリダイレクトします。Logto は、この URI から受け取った認可コードに基づいて認証プロセスを完了します。

IdP の OIDC アプリケーション設定フォームに Logto コールバック URI を入力し、アプリケーションの作成を続行します。(ほとんどの OIDC IdP は、選択可能なさまざまなアプリケーションタイプを提供しています。Logto で Web ベースの SSO コネクターを作成するには、Web Application タイプを選択してください。)

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

IdP 側で OIDC アプリケーションの作成に成功した後、IdP の設定情報を Logto 側に提供する必要があります。Connection タブに移動し、以下の設定項目を入力してください:

  • Client ID:IdP によって OIDC アプリケーションに割り当てられる一意の識別子です。この識別子は、Logto が OIDC フロー中にアプリケーションを識別し認証するために使用されます。
  • Client Secret:Logto と IdP 間で共有される機密のシークレットです。このシークレットは、OIDC アプリケーションの認証および Logto と IdP 間の通信の安全性を確保するために使用されます。
  • 発行者 (Issuer):発行者 (Issuer) URL は、IdP の一意の識別子であり、OIDC アイデンティティプロバイダー (IdP) の場所を指定します。これは OIDC 設定の重要な部分であり、Logto が必要なエンドポイントを発見するのに役立ちます。 設定プロセスを簡単にするために、Logto は必要な OIDC エンドポイントや設定情報を自動的に取得します。これは、入力した発行者 (Issuer) を利用し、IdP の OIDC ディスカバーエンドポイントにリクエストを送信することで実現されます。Logto が必要な情報を正しく取得できるよう、発行者 (Issuer) エンドポイントが有効かつ正確に設定されていることが重要です。 取得リクエストが成功すると、発行者 (Issuer) セクションで解析された IdP 設定情報を確認できます。

ステップ 3: スコープの設定(オプション)

スコープ (Scopes) は、アプリがユーザーから要求する権限 (Permissions) を定義し、エンタープライズアカウントからアプリがアクセスできるデータを制御します。

スコープ (Scopes) の設定には、両方の側での構成が必要です:

  1. アイデンティティプロバイダー (IdP):IdP コンソールで認可 (Authorization) に許可する権限 (Permissions) を設定します
    • 一部の IdP では、すべてのパブリックスコープ (Scopes) がデフォルトで有効になっています(追加の操作は不要です)
    • その他の IdP では、明示的に権限 (Permissions) を付与する必要があります
  2. Logto エンタープライズコネクター:Logto OIDC エンタープライズコネクターの設定 > Scopes フィールドで、認証 (Authentication) 時にリクエストするスコープ (Scopes) を指定します。
    • Logto は、カスタムスコープ (Scopes) の設定に関係なく、基本的なユーザーアイデンティティ情報を取得するために openidprofileemail スコープ (Scopes) を常に含めます。
    • 追加のスコープ (Scopes)(スペース区切り)を指定することで、IdP からさらに多くの情報をリクエストできます。
ヒント:

アプリがこれらのスコープ (Scopes) を使用して API にアクセスする必要がある場合は、Logto エンタープライズコネクターで 永続的な API アクセスのためにトークンを保存 を有効にしてください。詳細は次のセクションをご覧ください。

ステップ 4: サードパーティ API へのアクセス用トークンの保存(オプション)

アイデンティティプロバイダー (IdP) の API にアクセスし、ユーザーの認可 (Authorization) で操作を行いたい場合、Logto は特定の API スコープ (Scope) を取得し、トークンを保存する必要があります。

  1. 上記の手順に従い、必要なスコープ (Scope) を scope フィールドに追加します。
  2. Logto OIDC エンタープライズコネクターで 永続的な API アクセスのためにトークンを保存 を有効にします。Logto はアクセス トークン (Access token) を Secret Vault に安全に保存します。
  3. 標準 OIDC アイデンティティプロバイダー (IdP) の場合、リフレッシュ トークン (Refresh token) を取得するために offline_access スコープ (Scope) を含める必要があります。これにより、ユーザーへの同意画面 (Consent screen) の繰り返し表示を防ぎます。

ステップ 5: メールドメインの設定と SSO コネクターの有効化

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

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