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

Management API によるアカウント設定

統合

Logto は、ユーザーアカウントを管理するためのさまざまな Management API を提供しています。これらの API を使用して、エンドユーザー向けのセルフサービスアカウント設定ページを構築できます。

アーキテクチャ

  1. User: アカウント設定にアクセスし管理する必要がある認証済みのエンドユーザー。
  2. Client application: ユーザーにアカウント設定ページを提供するクライアントアプリケーション。
  3. Server-side application: クライアントにアカウント設定 API を提供するサーバーサイドアプリケーション。Logto Management API と連携します。
  4. Logto: 認証 (Authentication) と認可 (Authorization) サービスとしての Logto。ユーザーアカウントを管理するための Management API を提供します。

シーケンス図

  1. ユーザーがクライアントアプリケーションにアクセスします。
  2. クライアントアプリケーションが Logto に認証リクエストを送り、ユーザーを Logto のサインインページにリダイレクトします。
  3. ユーザーが Logto にサインインします。
  4. 認証されたユーザーが認可トークンと共にクライアントアプリケーションにリダイレクトされます。
  5. クライアントアプリケーションが Logto からセルフホステッドアカウント設定 API アクセスのためのアクセス トークンを要求します。
  6. Logto がクライアントアプリケーションにアクセス トークンを付与します。
  7. クライアントアプリケーションがユーザーアクセス トークンを使用してサーバーサイドアプリケーションにアカウント設定リクエストを送信します。
  8. サーバーサイドアプリケーションがユーザーアクセス トークンからリクエスターのアイデンティティと権限を確認します。その後、Logto から Management API アクセス トークンを要求します。
  9. Logto がサーバーサイドアプリケーションに Management API アクセス トークンを付与します。
  10. サーバーサイドアプリケーションが Management API アクセス トークンを使用して Logto からユーザーデータを要求します。
  11. Logto がサーバーのアイデンティティと Management API 権限を確認し、ユーザーデータを返します。
  12. サーバーサイドアプリケーションがリクエスターの権限に基づいてユーザーデータを処理し、クライアントアプリケーションにユーザーアカウントの詳細を返します。

Management API をサーバーサイドアプリケーションに統合する

Management API をサーバーサイドアプリケーションと統合する方法については、Management API セクションを確認してください。

ユーザー管理 API

ユーザーデータスキーマ

Logto のユーザースキーマについて詳しく知るには、ユーザーデータとカスタムデータ セクションを確認してください。

ユーザープロファイルと識別子管理 API

ユーザープロファイルと識別子は、ユーザー管理において重要です。以下の API を使用して、ユーザープロファイルと識別子を管理できます。

methodpathdescription
GET/api/users/{userId}ユーザー ID でユーザーの詳細を取得します。
PATCH/api/users/{userId}ユーザーの詳細を更新します。
PATCH/api/users/{userId}/profileユーザー ID でユーザープロファイルフィールドを更新します。
GET/api/users/{userId}/custom-dataユーザー ID でユーザーのカスタムデータを取得します。
PATCH/api/users/{userId}/custom-dataユーザー ID でユーザーのカスタムデータを更新します。
PATCH/api/users/{userId}/is-suspendedユーザー ID でユーザーの停止状態を更新します。

メールアドレスと電話番号の認証

Logto システムでは、メールアドレスと電話番号の両方がユーザー識別子として機能するため、その認証が重要です。これをサポートするために、提供されたメールまたは電話番号を認証するための一連の認証コード API を提供しています。

注記:

新しいメールまたは電話番号でユーザープロファイルを更新する前に、メールまたは電話番号を認証してください。

methodpathdescription
POST/api/verification/verification-codesメールまたは電話番号の認証コードを送信します。
POST/api/verification/verification-codes/verify認証コードでメールまたは電話番号を認証します。

ユーザーパスワード管理

methodpathdescription
POST/api/users/{userId}/password/verifyユーザー ID で現在のユーザーパスワードを確認します。
PATCH/api/users/{userId}/passwordユーザー ID でユーザーパスワードを更新します。
GET/api/users/{userId}/has-passwordユーザー ID でユーザーがパスワードを持っているか確認します。
注記:

ユーザーのパスワードを更新する前に、現在のパスワードを確認してください。

ユーザーソーシャルアイデンティティ管理

methodpathdescription
GET/api/users/{userId}ユーザー ID でユーザーの詳細を取得します。ソーシャルアイデンティティは identities フィールドにあります。
POST/api/users/{userId}/identities認証済みのソーシャルアイデンティティをユーザー ID でリンクします。
DELETE/api/users/{userId}/identitiesソーシャルアイデンティティをユーザー ID からリンク解除します。
PUT/api/users/{userId}/identitiesユーザー ID でリンクされたソーシャルアイデンティティを直接更新します。
POST/api/connectors/{connectorId}/authorization-uriソーシャルアイデンティティプロバイダーの認可 URI を取得します。この URI を使用して新しいソーシャルアイデンティティ接続を開始します。
  1. ユーザーがクライアントアプリケーションにアクセスし、ソーシャルアイデンティティのバインドを要求します。
  2. クライアントアプリケーションがサーバーにソーシャルアイデンティティのバインドリクエストを送信します。
  3. サーバーが Logto にソーシャルアイデンティティプロバイダーの認可 URI を取得するリクエストを送信します。リクエストには独自の state パラメーターと redirect_uri を提供する必要があります。ソーシャルアイデンティティプロバイダーに redirect_uri を登録してください。
  4. Logto がサーバーに認可 URI を返します。
  5. サーバーがクライアントアプリケーションに認可 URI を返します。
  6. クライアントアプリケーションがユーザーを IdP 認可 URI にリダイレクトします。
  7. ユーザーが IdP にサインインします。
  8. IdP がユーザーを redirect_uri を使用してクライアントアプリケーションに認可コードと共にリダイレクトします。
  9. クライアントアプリケーションが state を検証し、IdP 認可応答をサーバーに転送します。
  10. サーバーが Logto にソーシャルアイデンティティをユーザーにリンクするリクエストを送信します。
  11. Logto が認可コードを使用して IdP からユーザー情報を取得します。
  12. IdP がユーザー情報を Logto に返し、Logto がソーシャルアイデンティティをユーザーにリンクします。
注記:

新しいソーシャルアイデンティティをユーザーにリンクする際に考慮すべきいくつかの制限があります:

  • Management API にはセッションコンテキストがないため、ソーシャル認証状態を安全に維持するためにアクティブなセッションを必要とするソーシャルコネクターは Management API を介してリンクできません。サポートされていないコネクターには、apple、標準 OIDC、および標準 OAuth 2.0 コネクターが含まれます。
  • 同じ理由で、Logto は認可応答の state パラメーターを検証できません。クライアントアプリで state パラメーターを保存し、認可応答を受け取ったときにそれを検証してください。
  • ソーシャルアイデンティティプロバイダーに redirect_uri を事前に登録する必要があります。そうしないと、ソーシャル IdP はユーザーをクライアントアプリにリダイレクトしません。ソーシャル IdP は、ユーザーサインイン用と独自のプロファイルバインディングページ用の 2 つ以上のコールバック redirect_uri を受け入れる必要があります。

ユーザーエンタープライズアイデンティティ管理

methodpathdescription
GET/api/users/{userId}?includeSsoIdentities=trueユーザー ID でユーザーの詳細を取得します。エンタープライズアイデンティティは ssoIdentities フィールドにあります。ユーザー詳細 API に includeSsoIdentities=true クエリパラメーターを追加してそれらを含めます。

現在、Management API はユーザーにエンタープライズアイデンティティをリンクまたはリンク解除することをサポートしていません。ユーザーにリンクされたエンタープライズアイデンティティを表示することのみが可能です。

ユーザー MFA 設定管理

methodpathdescription
GET/api/users/{userId}/mfa-verificationsユーザー ID でユーザーの MFA 設定を取得します。
POST/api/users/{userId}/mfa-verificationsユーザー ID でユーザーの MFA 認証を設定します。
DELETE/api/users/{userId}/mfa-verifications/{verificationId}ID でユーザーの MFA 認証を削除します。

ユーザーアカウント削除

methodpathdescription
DELETE/api/users/{userId}ユーザー ID でユーザーを削除します。