Skip to main content
OrganizationMemberManagement コンポーネントは、organization のメンバーと招待を一元的に管理するためのインターフェースを提供します。

セットアップ要件

Auth0の設定が必要です—テナントでMy Organization APIが設定されていることを確認してください。セットアップガイドを見る →

インストール

pnpm

はじめに

管理者が個々のメンバーを表示できるようにするには、viewMemberDetailsAction に OrganizationMemberDetail を配置したルートへ遷移する処理を設定します。

プロップ

表示プロップ

表示プロップは、コンポーネントの動作に影響を与えずに、表示方法を制御します。セクションを非表示にしたり、読み取り専用モードを有効にしたりする場合に使用します。

アクションプロップ

アクションプロップはユーザー操作を処理し、メンバーや招待に関する操作を行った際の動作を定義します。ライフサイクルフック (onBefore、onAfter) を使用して、アプリケーションのルーティングや分析と連携できます。 createInvitationAction 型: ComponentAction<CreateInvitationInput, MemberInvitation> 招待の作成を制御します (1回のリクエストで最大10人まで招待可能) 。
  • onBefore(input) は送信前に同期的に実行されます。キャンセルするには false を返します。
  • onAfter(input, createdInvitation) は招待の作成後に実行されます。
招待の接続ルーティング 招待ピッカーには、対象となるエンタープライズ SSO IDプロバイダーと、その Organization に設定され有効化されているユーザーストア / ユーザーディレクトリが一覧表示されます。 接続セレクターは、次の両方のソースに問い合わせます。
  • GET /my-org/identity-providers (対象となるメンバーのアクセスレベルで絞り込み)
  • GET /my-org/user-stores (is_enabled: true で絞り込み)
createInvitationAction に送信されるペイロードでは、選択した接続の種類に応じて、該当する識別子が 1 つだけ使用されます。
  • エンタープライズ SSO 接続を選択した場合: ペイロードに identity_provider_id が設定されます。
  • ユーザーストア / Directory 接続を選択した場合: ペイロードに user_store_id が設定されます。
接続のルーティングルール:
  • 自動選択: 組織に対象となる接続が1つしかない場合、その接続が既定で選択されますが、編集は可能です。
  • 接続がない場合: 対象となる接続が存在しない場合、招待のエントリポイントは無効になり、その理由を説明するフィードバックが表示されます。
  • 取り消しと再送信: 取り消しと再送信のフローでは、元の接続ルーティング元 (user_store_id または identity_provider_id) が保持されます。
  • 接続の対象条件: 招待のピッカーには、メンバーアクセスレベルが limited または full に設定された接続が表示されます。
revokeInvitationAction 型: ComponentAction<MemberInvitation[]> 招待の取り消しを制御します (単一および一括の取り消しに対応し、1バッチあたり最大10件まで取り消せます) 。
  • onBefore(invitations) は取り消し前に確認を行います。キャンセルする場合は false を返します。
  • onAfter(invitations) は招待が取り消された後に実行されます。
resendInvitationAction 型: ComponentAction<MemberInvitation, MemberInvitation> 招待の取り消しと再送信のフローを制御します。
  • onBefore(invitation) は再送信前に確認を行います。中止するには false を返します。
  • onAfter(original, newInvitation) は新しい招待が作成された後に実行されます。
viewMemberDetailsAction 型: ComponentAction<ViewMemberDetailsParams> メンバー行またはロールバッジを選択したときに発火します。{ userId, tab } を受け取ります。これをフックして OrganizationMemberDetail へ遷移させます。
  • onAfter({ userId, tab }) は選択時に実行されます。指定されたタブを直接開けるよう、ルーターの URL に tab を保持してください。
removeFromOrganizationAction 型: ComponentAction<string> Organization からのメンバー削除を制御します (対象はメンバーシップのみで、Auth0 のユーザーストアからユーザープロファイルが削除されるわけではありません) 。どちらのフックも userId を受け取ります。
  • onBefore(userId) は削除前に確認を行います。キャンセルするには false を返します。
  • onAfter(userId) は削除後に実行されます。
assignRolesAction 型: ComponentAction<{ userId: string; roleIds: string[] }> 行モーダルからロールを割り当てた後に発火します。選択できるロールは1回の割り当てリクエストあたり10個までで、1人のメンバーに割り当てられるロールは合計50個までです。どちらのフックも { userId, roleIds } を受け取ります。
  • onBefore({ userId, roleIds }) は選択内容を検証します。キャンセルするには false を返します。
  • onAfter({ userId, roleIds }) はロールの割り当て後に実行されます。

カスタマイズ用プロップ

customMessages コンポーネントに同梱されたテキストを上書きします。すべてのフィールドは省略可能で、省略した場合は組み込みの既定値が使用されます。
header—コンポーネントのヘッダー
  • title、description
tabs—タブのラベル
  • members、invitations
count_capped—上限到達時の件数表示
  • メンバー数または招待数が1,000件を超えた場合に表示されるテキスト
member.table—メンバーテーブルの表示
  • columns.name、columns.roles、columns.last_login
  • empty_message、search_placeholder
member.actions—メンバー行のアクション
  • menu_label、remove_from_organization、view_details
member.assign_roles—ロール割り当てモーダル
  • title、description
  • roles_label、roles_placeholder
  • submit_button、cancel_button、no_roles_available
member.remove_from_organization—メンバー削除の確認
  • title、description
  • confirm_button、cancel_button
member.success / member.error—メンバー操作のステータス
  • success.removed_from_organization、success.role_assigned
  • error.fetch_failed、error.assign_roles_failed、error.remove_from_organization_failed
invitation.table—招待テーブルの表示
  • columns.email、columns.status、columns.inviter
  • columns.created_at、columns.expires_at、columns.roles
  • empty_message、search_placeholder、showing_results
  • status_pending、status_expired
invitation.actions—招待行のアクション
  • menu_label、view_details、copy_url、revoke_and_resend、revoke
invitation.create—招待作成モーダル
  • title、description
  • email_label、email_placeholder、email_helper
  • email_limit_error、email_invalid_error、email_duplicate_error、email_required_error
  • roles_label、roles_placeholder、roles_max_selection_message、roles_searching_message
  • connection_label、connection_placeholder、connection_helper
  • connection_group_user_store、connection_group_identity_provider
  • submit_button、creating、cancel_button
invitation.details—招待の詳細ドロワー
  • title、email_label、status_label
  • roles_label、connection_label
  • created_at_label、expires_at_label、invited_by_label、invitation_url_label
  • copy_url_button、close_button、revoke_button、resend_button
invitation.revoke / invitation.revoke_resend—取り消しの確認
  • revoke.title、revoke.description、revoke.confirm_button、revoke.cancel_button
  • revoke_resend.title、revoke_resend.description、revoke_resend.confirm_button、revoke_resend.cancel_button
invitation.bulk_revoke—一括取り消しの確認
  • button、button_plural、count、count_plural、success、max_selection_message
  • confirm.title、confirm.title_plural、confirm.description、confirm.description_plural
  • confirm.confirm_button、confirm.confirm_button_plural、confirm.cancel_button
invitation.error / invitation.success—招待のステータスおよびアラート
  • success.url_copied、success.invitation_resent
  • error.fetch_failed、error.fetch_roles_failed、error.create_failed
  • error.revoke_failed、error.resend_failed、error.revoke_resend_failed
  • error.bulk_revoke_failed、error.connection_required、error.copy_url_failed

styling CSS変数とクラスのオーバーライドで外観をカスタマイズします。変数は light、dark、common のスコープに対応しています。クラスのオーバーライドは、コンポーネントツリー内の名前付きスロットに適用されます。
Variables—CSSカスタムプロパティ
  • common—すべてのテーマに適用
  • light—ライトテーマのみ
  • dark—ダークテーマのみ
Classes—対象要素へのクラスのオーバーライド
  • OrganizationMemberManagement-root
  • OrganizationMemberManagement-header
  • OrganizationMemberManagement-tabs
  • OrganizationInvitationTab-root
  • OrganizationInvitationTab-table
  • OrganizationInvitationTab-createModal
  • OrganizationInvitationTab-detailsModal
  • OrganizationInvitationTab-revokeModal
  • OrganizationInvitationTab-revokeResendModal
  • OrganizationInvitationTab-bulkRevokeModal
  • OrganizationInvitationTab-searchInput
  • OrganizationInvitationTab-filterDropdown
  • OrganizationInvitationTab-pagination

高度なカスタマイズ

利用可能なフック

これらのフックは、UIを含まない基盤となるロジックのみを提供します。Auth0 APIとの連携を活用しながら、完全に独自のインターフェースを構築したい場合にご利用ください。