コアサービス
はじめに
コアサービス は、重要な Logto の業務を担当するモノリスサービスです。ソースコードは @logto/core
にあります。
コアサービス と SDK コア は別の概念です。違いについては SDK 規約 を参照してください。
簡単にするために、コアサービスを4つの主要なモジュールに分けます:
名前 | 説明 | マウントパス |
OIDC プロバイダー | OpenID プロバイダー。 | /oidc |
Logto API | Management 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 機能
- OpenID Connect Core
- OpenID Connect Discovery
- OpenID Connect RP-Initiated Logout
- OpenID Connect Back-Channel Logout
- OAuth 2.0
- OAuth 2.0 トークンインスペクション
- OAuth 2.0 トークン取り消し
- OAuth 2.0 リソースインジケーター
- コード交換のためのプルーフキー (PKCE)
Logto API
Management API
Management API は、Logto データを管理および更新するための API セットです。admin
ロールを持つユーザーのみがアクセスできます。
詳細は API リファレンス を参照してください。
プログラムで API にアクセスするには、Management API と連携する を参照してください。
Experience API
Experience API は、カスタムサインインインターフェースのインタラクションをサポートする専用エンドポイントのセットです。
これらの API により、開発者はサインイン、サインアップ、パスワードリセット、ソーシャルアカウントのバインディング、多要素認証 (MFA) などのコア認証機能を実装できます。これらの機能を実装するには、カスタム UI が Experience API と連携する必要があります。
ユーザーフローと実装の詳細をよりよく理解するために:
- カスタム UI を開発する ガイドをチェックして、Experience API を使用してカスタム体験 UI を構築する方法を学びましょう
- 詳細な API ドキュメントについては、Experience API リファレンス を参照してください
- 詳細な技術仕様と例については、Experience API 設計 RFC を読んでください
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 プロキシはフォールバックプロキシであり、他のプロキシが一致しない場合にのみ効果を発揮します。