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

コアサービス

はじめに

コアサービス は、重要な Logto の業務を担当するモノリスサービスです。ソースコードは @logto/core にあります。

注記:

コアサービスSDK コア は別の概念です。違いについては SDK 規約 を参照してください。

簡単にするために、コアサービスを4つの主要なモジュールに分けます:

名前説明マウントパス
OIDC プロバイダー OpenID プロバイダー/oidc
Logto APIManagement API、Experience API、Account API。/api
フロントエンドプロキシフロントエンドプロジェクトのための HTTP プロキシまたは静的ファイルの提供。

詳細は フロントエンドプロキシ を参照してください。

OIDC を含むバックエンド API は core パッケージ内で構築されており、フロントエンドプロキシは Logto モノレポの対応する兄弟パッケージに依存しています。

OIDC プロバイダー

Logto は、素晴らしい認定済み OpenID Connect 実装 node-oidc-provider を内部で使用しています。プロバイダーは /oidc にマウントされており、関連する設定とファイルは packages/core/src/oidc で確認できます。

OIDC の Userinfo エンドポイント は利用可能で、/oidc/me にマウントされています。

備考:

OIDC API を直接呼び出したい場合は、ヘッダー Content-Type: application/x-www-form-urlencoded を設定することを忘れないでください。

有効な OpenID 機能

Logto API

Management API

Management API は、Logto データを管理および更新するための API セットです。admin ロールを持つユーザーのみがアクセスできます。

詳細は API リファレンス を参照してください。

プログラムで API にアクセスするには、Management API と連携する を参照してください。

Experience API

Experience API は、カスタムサインインインターフェースのインタラクションをサポートする専用エンドポイントのセットです。

これらの API により、開発者はサインイン、サインアップ、パスワードリセット、ソーシャルアカウントのバインディング、多要素認証 (MFA) などのコア認証機能を実装できます。これらの機能を実装するには、カスタム UI が Experience API と連携する必要があります。

ユーザーフローと実装の詳細をよりよく理解するために:

Account API

Account API は、エンドユーザーに Management API を経由せずに直接 API アクセスを提供する包括的な API セットです。ここにハイライトがあります:

  • 直接アクセス:Account API はエンドユーザーに自分のアカウントプロファイルに直接アクセスし管理する力を与え、Management API の中継を必要としません。
  • ユーザープロファイルとアイデンティティ管理:ユーザーは、メール、電話、パスワードなどのアイデンティティ情報を更新する能力を含む、プロファイルとセキュリティ設定を完全に管理できます。MFA と SSO のサポートは近日公開予定です。
  • グローバルアクセス制御:管理者はアクセス設定を完全にグローバルに制御し、各フィールドをカスタマイズできます。
  • シームレスな認可 (Authorization):認可 (Authorization) はこれまでになく簡単です!client.getAccessToken() を使用して OP (Logto) の不透明トークンを取得し、Bearer <access_token> として Authorization ヘッダーに添付するだけです。

Logto Account API を使用すると、Logto と完全に統合されたプロファイルページのようなカスタムアカウント管理システムを構築できます。

Account API によるアカウント設定 をチェックして、Account API を活用して独自のアカウント設定ページを構築する方法を学びましょう。

詳細な API ドキュメントについては、Account API リファレンス を参照してください。

フロントエンドプロキシ

フロントエンドプロキシ は、環境に関連した方法でフロントエンドプロジェクトを提供するミドルウェア関数です:

  • 開発中の場合、フロントエンド開発サーバーへの HTTP リクエストをプロキシします。
  • 本番環境の場合、静的なフロントエンドファイルを直接提供します。

Logto には 3 つのフロントエンドプロキシがあります:

名前フロントエンドパッケージマウントパス
管理コンソールプロキシ/packages/console/console
デモアプリプロキシ/packages/demo-app/demo-app
UI (サインイン体験) プロキシ/packages/ui/
注記:

UI プロキシがルートパスを使用していることに気付くかもしれません。他のプロキシとは異なり、UI プロキシはフォールバックプロキシであり、他のプロキシが一致しない場合にのみ効果を発揮します。