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

サードパーティアプリ (OAuth / OIDC)

Logto のサードパーティアプリケーション統合を利用すると、外部アプリケーション向けに アイデンティティプロバイダー (IdP) として Logto を活用できます。

アイデンティティプロバイダー (IdP) とは、ユーザーのアイデンティティを検証し、ログイン認証情報を管理するサービスです。ユーザーのアイデンティティを確認した後、IdP は認証 (Authentication) トークンやアサーションを生成し、ユーザーが再度ログインすることなくさまざまなアプリケーションやサービスへアクセスできるようにします。

アプリケーションへの Logto 統合 ガイドで作成した、開発・管理が完全に自社で行えるアプリケーションとは異なり、サードパーティアプリケーションは外部の開発者やビジネスパートナーによって開発された独立したサービスです。

この統合アプローチは、一般的なビジネスシナリオに最適です。Logto アカウントを使ってパートナーアプリケーションへアクセスできるようにしたり、エンタープライズユーザーが Google Workspace で Slack にサインインするような体験を提供できます。また、サードパーティアプリケーションが「Logto でサインイン」機能を追加できるオープンプラットフォームを構築することも可能です(「Google でサインイン」と同様)。

Logto は OpenID Connect (OIDC) プロトコルに基づいたアイデンティティサービスであり、認証 (Authentication)認可 (Authorization) の両方の機能を提供します。これにより、OIDC サードパーティアプリの統合は従来の Web アプリケーションと同じくらい簡単です。

また、OIDC は OAuth 2.0 の上に認証 (Authentication) レイヤーを追加したプロトコルであるため、OAuth プロトコルを使ったサードパーティアプリの統合も可能です。

Logto でサードパーティアプリケーションを作成する

  1. コンソール > アプリケーション にアクセスします。
  2. 「アプリケーションを作成」ボタンをクリックします。アプリケーションタイプとして「サードパーティアプリ」を選択し、次のいずれかの統合プロトコルを選びます:
    • OIDC / OAuth
  3. アプリケーションの名前と説明を入力し、「作成」ボタンをクリックします。新しいサードパーティアプリケーションが作成されます。

作成したサードパーティアプリケーションはすべて、「アプリケーション」ページの「サードパーティアプリ」タブに一覧表示されます。この構成により、自社アプリケーションと区別しやすくなり、すべてのアプリケーションを一元管理できます。

OIDC 設定を行う

注記:

OIDC 設定を行う前に、OIDC サードパーティアプリケーションを作成 していることを確認してください。

  1. OIDC サードパーティアプリケーションの リダイレクト URI を入力します。これは、Logto で認証 (Authentication) された後にサードパーティアプリケーションがユーザーをリダイレクトする URL です。 通常、この情報はサードパーティアプリケーションの IdP 接続設定ページで確認できます。

  2. Logto アプリケーション詳細ページから クライアント IDクライアントシークレット を取得し、サービスプロバイダーの IdP 接続設定ページに入力します。

  3. Logto アプリケーション詳細ページから 認可エンドポイントトークンエンドポイント を取得し、サービスプロバイダーに提供します。 サービスプロバイダーが OIDC ディスカバリーに対応している場合は、Logto アプリケーション詳細ページから ディスカバリーエンドポイント をコピーしてサービスプロバイダーに提供するだけで、サービスプロバイダーが最新の OIDC 認証 (Authentication) 情報を自動的に取得できます。 それ以外の場合は、エンドポイント詳細を表示ボタンをクリックして、すべての OIDC 認証 (Authentication) エンドポイントを確認してください。

セキュリティ上の理由から、すべての OIDC サードパーティアプリケーションは Logto で認証 (Authentication) された後、ユーザー認可 (Authorization) のために 同意画面 にリダイレクトされます。

サードパーティが要求した ユーザープロファイル権限API リソーススコープ組織権限、および組織メンバーシップ情報が同意画面に表示されます。

これらの要求された権限は、ユーザーが「認可 (Authorization)」ボタンをクリックした後にのみサードパーティアプリケーションへ付与されます。

consent screen

次のステップ

よくある質問

Logto ではロールベースのアクセス制御 (RBAC) を使ってユーザー権限を管理しています。同意画面には、ユーザーに既に割り当てられているスコープ(権限)のみが表示されます。サードパーティアプリがユーザーの持っていないスコープを要求した場合、それらは除外され、誤った同意が行われないようになっています。

管理方法:

  • グローバルロール または 組織ロール を特定のスコープで定義します。
  • アクセス要件に応じてユーザーにロールを割り当てます。
  • ユーザーはロールから自動的にスコープを継承します。

ユースケース:Apache Answer を統合してユーザー向けコミュニティを立ち上げる

Logto をサードパーティアイデンティティプロバイダー (IdP) として利用する