ユーザー管理
Logto コンソールで管理する
ユーザーの閲覧と検索
Logto コンソールでユーザー管理機能にアクセスするには、 コンソール > ユーザー管理 に移動します。そこでは、すべてのユーザーのテーブルビューが表示されます。
テーブルは 3 つのカラムで構成されています:
- ユーザー:ユーザーのアバター、氏名、ユーザー名、電話番号、メールアドレスなどの情報を表示します
- アプリケーションから:ユーザーが最初に登録したアプリケーション名を表示します
- 最新サインイン:ユーザーの最新サインインのタイムスタンプを表示します。
name、id、username、primary-phone、primary-email のキーワードマッピングをサポートしています。
ユーザーの追加
コンソールを使って、開発者はエンドユーザーの新しいアカウントを作成できます。画面右上の「ユーザー追加」ボタンをクリックしてください。
Logto コンソールでユーザーを作成する際、少なくとも 1 つの識別子(primary email、primary phone、または username)を入力する必要があります。name フィールドは任意です。この要件はコンソールにのみ適用されます。Management API の Create user endpoint では、これらの識別子がなくてもユーザーを作成できます。
ユーザー作成後、Logto は自動的にランダムなパスワードを生成します。初期パスワードは一度だけ表示されますが、後で パスワードをリセット できます。特定のパスワードを設定したい場合は、Management API の patch /api/users/{userId}/password を使ってユーザー作成後に更新してください。
入力した識別子(メールアドレス / 電話番号 / ユーザー名) と 初期パスワード はワンクリックでコピーでき、新しいユーザーにこれらの認証情報を簡単に共有してサインイン・利用開始できます。
招待制登録を実装したい場合は、マジックリンクによるユーザー招待 を推奨します。これにより、ホワイトリストに登録されたユーザーのみが自己登録し、自分でパスワードを設定できます。
ユーザープロフィールの閲覧と更新
ユーザーの詳細を表示するには、ユーザーテーブルの該当行をクリックしてください。これにより「ユーザー詳細」ページに移動し、ユーザープロフィール情報を確認できます。内容は以下の通りです:
- 認証 (Authentication) 関連データ:
- メールアドレス(primary_email):編集可能
- 電話番号(primary_phone):編集可能
- ユーザー名(username):編集可能
- パスワード(has_password):ランダムパスワードを再生成できます。「ユーザーパスワードのリセット」を参照してください。
- 多要素認証 (MFA)(mfa_verification_factor):このユーザーが設定したすべての認証要素(パスキー、認証アプリ、バックアップコードなど)を表示できます。要素はコンソールで削除可能です。
- パスキー:テナントで パスキーサインイン が有効な場合、ユーザー詳細ページでサインイン用パスキーを表示・削除できます。これらのパスキーは MFA と同じ WebAuthn 資格情報モデルで管理されます。
- パーソナルアクセストークン:パーソナルアクセストークン の作成、表示、名前変更、削除ができます。
- 接続:
- ソーシャル接続(identities):
- ユーザーが連携したソーシャルアカウント(ソーシャル ID やプロバイダから同期されたプロフィール情報)を表示します(例:Facebook でサインインした場合は「Facebook」のエントリが表示されます)。
- 既存のソーシャル ID は削除できますが、ユーザーの代わりに新しいソーシャルアカウントを連携することはできません。
- トークン保存 が有効なソーシャルコネクターの場合、接続詳細ページでアクセス トークン (Access token) やリフレッシュ トークン (Refresh token) の表示・管理が可能です。
- エンタープライズ SSO 接続(sso_identities):
- ユーザーが連携したエンタープライズ ID やプロバイダから同期されたプロフィール情報を表示します。
- コンソールでエンタープライズ SSO ID の追加・削除はできません。
- OIDC ベースのエンタープライズコネクターで トークン保存 が有効な場合、接続詳細ページでトークンの表示・削除が可能です。
- ソーシャル接続(identities):
- ユーザープロフィールデータ:名前、アバター URL、カスタムデータ、その他 OpenID Connect 標準クレーム (Claim)(未含分も含む)。これらのプロフィール項目はすべて編集可能です。
- セッション:ユーザーのアクティブセッション一覧(デバイス情報、sessionId、位置情報など)を表示します。セッションの詳細を確認したり、セッション詳細ページでセッションを取り消すことができます。
ソーシャル接続を削除する前に、他のサインイン方法(別のソーシャル接続、電話番号、メールアドレス、ユーザー名+パスワードなど)があることを必ず確認してください。他のサインイン方法がない場合、ソーシャル接続を削除するとユーザーはアカウントに再度アクセスできなくなります。
ユーザーアクティビティの閲覧
ユーザーの最近のアクティビティを確認するには、「ユーザー詳細」ページの「ユーザーログ」サブタブに移動します。ここでは、ユーザーが行ったアクション、結果、関連アプリケーション、実行時刻などがテーブルで表示されます。
テーブル行をクリックすると、ユーザーログの詳細(IP アドレス、ユーザーエージェント、生データなど)を確認できます。
ユーザーの一時停止
「ユーザー詳細」ページで「三点リーダー」→「ユーザーを一時停止」ボタンをクリックします。
ユーザーが一時停止されると、そのユーザーはアプリにサインインできなくなり、現在のアクセス トークン (Access token) の有効期限後は新しいトークンも取得できません。また、このユーザーによる API リクエストも失敗します。
ユーザーを再有効化したい場合は、「三点リーダー」→「ユーザーを再有効化」ボタンをクリックしてください。
ユーザーの削除
「ユーザー詳細」ページで「三点リーダー」→「削除」ボタンをクリックします。ユーザーの削除は元に戻せません。
ユーザーパスワードのリセット
「ユーザー詳細」ページで「三点リーダー」→「パスワードをリセット」ボタンをクリックすると、Logto が自動的にランダムなパスワードを再生成します。
パスワードをリセットした後は、そのパスワードをコピーしてエンドユーザーに送信してください。「パスワードリセット」モーダルを閉じるとパスワードは再表示できません。控え忘れた場合は再度リセットしてください。
Logto コンソールでは特定のパスワードを設定できませんが、Management API の PATCH /api/users/{userId}/password を使って指定できます。
ユーザーパスワードの有効期限切れ
ユーザーのパスワードが漏洩した可能性がある場合、有効期限切れにして次回サインイン時にリセットを必須にできます。「ユーザー詳細」ページでパスワード横の「有効期限切れ」ボタンをクリックし、確認してください。また、Management API の PATCH /api/users/{userId}/password/expiration に { "isExpired": true } を指定して呼び出すこともできます。
この操作には パスワード有効期限ポリシー の有効化が必要です。正しいパスワード入力後、ユーザーはパスワードリセットフローに遷移し、メールまたは電話に送信されたコードで認証し新しいパスワードを設定します。パスワードの有効期限切れは既存セッションを終了しないため、即時アクセス遮断が必要な場合は ユーザーのアクティブセッションを取り消す ことも推奨します。
ユーザーのアクティブセッション管理
「ユーザー詳細」ページで、特定セッションの「管理」ボタンをクリックして「セッション詳細」ページに移動します。ここではデバイス、位置情報、ログイン時刻などの詳細を確認できます。このセッションからユーザーをログアウトさせたい場合は、右上の「セッションを取り消す」ボタンをクリックしてください。即座にセッションが無効化されます。
- デフォルトでは、コンソールでセッションを取り消すと、そのセッションに関連するすべてのファーストパーティアプリのグラントも取り消され、再度アクセスするには再サインインが必要です。事前発行された不透明トークン (Opaque token) やリフレッシュ トークン (Refresh token) も即時無効化されます。
offline_accessスコープを持つサードパーティアプリの場合、セッションの取り消しはデフォルトでアプリグラントを取り消しません。事前発行されたリフレッシュ トークン (Refresh token) は、グラントの有効期限・リフレッシュ トークンの有効期限・明示的な取り消しのいずれか早い時点まで利用可能です。
ユーザーが認可したサードパーティアプリの管理
「ユーザー詳細」ページの「認可済みサードパーティアプリ」セクションで、ユーザーのアプリ認可状況を確認できます。 このセクションはユーザー認可アプリ(グラント)管理 API により提供されています。
各認可済みアプリについて、コンソールでは以下を表示します:
- アプリ名
- アプリ ID
- アクセス作成日時
アクセスを削除したい場合は、取り消しアクションをクリックし、モーダルで確認してください。
アプリ認可を取り消すと、そのアプリに関連するすべてのサードパーティグラントが削除され、事前発行された不透明トークン (Opaque token) やリフレッシュ トークン (Refresh token) も即時無効化されます。
パスワード準拠チェック
Logto で パスワードポリシー を更新した後も、既存ユーザーは現在のパスワードでサインインできます。新規作成アカウントのみが新しいパスワードポリシーに従う必要があります。
より強力なセキュリティを強制するには、POST /api/sign-in-exp/default/check-password API を使って、ユーザーのパスワードがデフォルトサインイン体験で定義された現在のポリシーに準拠しているか確認できます。準拠していない場合は、Account API を使ったカスタムフローでパスワード更新を促すことができます。
ユーザーのロール管理
ユーザー詳細ページの「ロール」タブで、ロールの割り当てや削除が簡単に行えます。詳細は ロールベースのアクセス制御 (RBAC) を参照してください。
ユーザーが所属する組織の表示
Logto は 組織 をサポートしており、そのメンバー管理が可能です。ユーザー詳細を簡単に確認し、どの組織に所属しているかを把握できます。
Logto Management API で管理する
Management API は、Logto バックエンドサービスへのアクセスを提供する API 群です。前述の通り、ユーザー API はこのサービスの重要なコンポーネントであり、さまざまなシナリオに対応できます。
ユーザー関連の RESTful API は /api/users にマウントされています(ユーザーアクティビティ、すなわちユーザーログ /api/logs?userId=:userId を除く)。
Management API を通じて、高度なユーザー検索、一括アカウント作成、招待制サインアップ など、さまざまな用途でユーザー管理が可能です。
よくある質問
特定ユーザーの特定アプリケーションへのアクセスを制限するには?
Logto の Omni-sign-in の特性上、認証 (Authentication) 前に特定アプリケーションへのユーザーアクセスを制限する設計にはなっていません。 ただし、アプリケーション固有のユーザーロールや権限を設計し、API リソースを保護することは可能です。ユーザーがサインインした後、API アクセス時に権限を検証してください。 詳細は認可 (Authorization):ロールベースのアクセス制御 (RBAC) を参照してください。