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

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

インテグレーション

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

アーキテクチャ

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

シーケンス図

  1. ユーザーがクライアントアプリケーションへアクセスします。
  2. クライアントアプリケーションが Logto へ認証リクエストを送り、ユーザーを Logto のサインインページへリダイレクトします。
  3. ユーザーが Logto へサインインします。
  4. 認証 (Authentication) 済みユーザーが認可コード付きでクライアントアプリケーションへリダイレクトされます。
  5. クライアントアプリケーションがセルフホスト型アカウント設定 API へのアクセス用アクセストークンを Logto からリクエストします。
  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 でユーザーの停止状態を更新します。

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

Logto システムでは、メールアドレスと電話番号の両方がユーザー識別子として利用できるため、その認証 (Verification) は不可欠です。これをサポートするため、指定したメールアドレスや電話番号の認証 (Verification) を支援する認証コード API を提供しています。

注記:

新しいメールアドレスや電話番号でユーザープロファイルを更新する前に、必ずメールアドレスまたは電話番号の認証 (Verification) を行ってください。

methodpathdescription
POST/api/verifications/verification-codeメールアドレスまたは電話番号の認証コードを送信します。
POST/api/verifications/verification-code/verify認証コードでメールアドレスまたは電話番号を認証 (Verification) します。

ユーザーパスワード管理

methodpathdescription
POST/api/users/{userId}/password/verifyユーザー ID で現在のパスワードを認証 (Verification) します。
PATCH/api/users/{userId}/passwordユーザー ID でパスワードを更新します。
GET/api/users/{userId}/has-passwordユーザー ID でパスワードの有無を確認します。
注記:

ユーザーパスワードを更新する前に、必ず現在のパスワードを認証 (Verification) してください。

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

methodpathdescription
GET/api/users/{userId}ユーザー ID でユーザー詳細を取得します。ソーシャルアイデンティティは identities フィールドに含まれます。
POST/api/users/{userId}/identities認証 (Authentication) 済みソーシャルアイデンティティをユーザー 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 には複数のコールバック redirect_uri(ユーザーサインイン用とプロフィール連携用)を登録できる必要があります。

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

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

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

パーソナルアクセストークン

methodpathdescription
GET/api/users/{userId}/personal-access-tokensユーザーのすべてのパーソナルアクセストークンを取得します。
POST/api/users/{userId}/personal-access-tokensユーザーの新しいパーソナルアクセストークンを追加します。
DELETE/api/users/{userId}/personal-access-tokens/{name}名前でユーザーのトークンを削除します。
PATCH/api/users/{userId\s}/personal-access-tokens/{name}名前でユーザーのトークンを更新します。

パーソナルアクセストークンは、ユーザーが認証情報やインタラクティブなサインインを使わずに アクセス トークン (Access token) を安全に発行できる方法です。パーソナルアクセストークンの利用方法 もご覧ください。

ユーザー MFA 設定管理

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

ユーザーアカウント削除

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

ユーザーセッション管理

methodpathdescription
GET/api/users/{userId}/sessionsユーザー ID でユーザーセッションを取得します。
GET/api/users/{userId}/sessions/{sessionId}セッション ID でユーザーセッションを取得します。
DELETE/api/users/{userId}/sessions/{sessionId}セッション ID でユーザーセッションを削除します。