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

コアサービス

はじめに

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

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 プロキシはフォールバックプロキシであり、他のプロキシが一致しない場合にのみ効果を発揮します。