OrganizationMemberManagement コンポーネントは、organization のメンバーと招待を一元的に管理するためのインターフェースを提供します。
- React
- Next.js
- shadcn
セットアップ要件
Auth0の設定が必要です—テナントでMy Organization APIが設定されていることを確認してください。セットアップガイドを見る →
インストール
pnpm
はじめに
viewMemberDetailsAction に OrganizationMemberDetail を配置したルートへ遷移する処理を設定します。プロップ
表示プロップ
表示プロップは、コンポーネントの動作に影響を与えずに、表示方法を制御します。セクションを非表示にしたり、読み取り専用モードを有効にしたりする場合に使用します。アクションプロップ
アクションプロップはユーザー操作を処理し、メンバーや招待に関する操作を行った際の動作を定義します。ライフサイクルフック (onBefore、onAfter) を使用して、アプリケーションのルーティングや分析と連携できます。
createInvitationAction
型:
ComponentAction<CreateInvitationInput, MemberInvitation>
招待の作成を制御します (1回のリクエストで最大10人まで招待可能) 。
onBefore(input)は送信前に同期的に実行されます。キャンセルするにはfalseを返します。onAfter(input, createdInvitation)は招待の作成後に実行されます。
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に設定された接続が表示されます。
ComponentAction<MemberInvitation[]>
招待の取り消しを制御します (単一および一括の取り消しに対応し、1バッチあたり最大10件まで取り消せます) 。
onBefore(invitations)は取り消し前に確認を行います。キャンセルする場合はfalseを返します。onAfter(invitations)は招待が取り消された後に実行されます。
ComponentAction<MemberInvitation, MemberInvitation>
招待の取り消しと再送信のフローを制御します。
onBefore(invitation)は再送信前に確認を行います。中止するにはfalseを返します。onAfter(original, newInvitation)は新しい招待が作成された後に実行されます。
ComponentAction<ViewMemberDetailsParams>
メンバー行またはロールバッジを選択したときに発火します。{ userId, tab } を受け取ります。これをフックして OrganizationMemberDetail へ遷移させます。
onAfter({ userId, tab })は選択時に実行されます。指定されたタブを直接開けるよう、ルーターの URL にtabを保持してください。
ComponentAction<string>
Organization からのメンバー削除を制御します (対象はメンバーシップのみで、Auth0 のユーザーストアからユーザープロファイルが削除されるわけではありません) 。どちらのフックも userId を受け取ります。
onBefore(userId)は削除前に確認を行います。キャンセルするにはfalseを返します。onAfter(userId)は削除後に実行されます。
ComponentAction<{ userId: string; roleIds: string[] }>
行モーダルからロールを割り当てた後に発火します。選択できるロールは1回の割り当てリクエストあたり10個までで、1人のメンバーに割り当てられるロールは合計50個までです。どちらのフックも { userId, roleIds } を受け取ります。
onBefore({ userId, roleIds })は選択内容を検証します。キャンセルするにはfalseを返します。onAfter({ userId, roleIds })はロールの割り当て後に実行されます。
カスタマイズ用プロップ
customMessages
コンポーネントに同梱されたテキストを上書きします。すべてのフィールドは省略可能で、省略した場合は組み込みの既定値が使用されます。
主なメッセージグループ
主なメッセージグループ
header—コンポーネントのヘッダー
title、description
members、invitations
- メンバー数または招待数が1,000件を超えた場合に表示されるテキスト
columns.name、columns.roles、columns.last_loginempty_message、search_placeholder
menu_label、remove_from_organization、view_details
title、descriptionroles_label、roles_placeholdersubmit_button、cancel_button、no_roles_available
title、descriptionconfirm_button、cancel_button
success.removed_from_organization、success.role_assignederror.fetch_failed、error.assign_roles_failed、error.remove_from_organization_failed
columns.email、columns.status、columns.invitercolumns.created_at、columns.expires_at、columns.rolesempty_message、search_placeholder、showing_resultsstatus_pending、status_expired
menu_label、view_details、copy_url、revoke_and_resend、revoke
title、descriptionemail_label、email_placeholder、email_helperemail_limit_error、email_invalid_error、email_duplicate_error、email_required_errorroles_label、roles_placeholder、roles_max_selection_message、roles_searching_messageconnection_label、connection_placeholder、connection_helperconnection_group_user_store、connection_group_identity_providersubmit_button、creating、cancel_button
title、email_label、status_labelroles_label、connection_labelcreated_at_label、expires_at_label、invited_by_label、invitation_url_labelcopy_url_button、close_button、revoke_button、resend_button
revoke.title、revoke.description、revoke.confirm_button、revoke.cancel_buttonrevoke_resend.title、revoke_resend.description、revoke_resend.confirm_button、revoke_resend.cancel_button
button、button_plural、count、count_plural、success、max_selection_messageconfirm.title、confirm.title_plural、confirm.description、confirm.description_pluralconfirm.confirm_button、confirm.confirm_button_plural、confirm.cancel_button
success.url_copied、success.invitation_resenterror.fetch_failed、error.fetch_roles_failed、error.create_failederror.revoke_failed、error.resend_failed、error.revoke_resend_failederror.bulk_revoke_failed、error.connection_required、error.copy_url_failed
styling CSS変数とクラスのオーバーライドで外観をカスタマイズします。変数は
light、dark、common のスコープに対応しています。クラスのオーバーライドは、コンポーネントツリー内の名前付きスロットに適用されます。
利用可能なスタイル設定オプション
利用可能なスタイル設定オプション
Variables—CSSカスタムプロパティ
common—すべてのテーマに適用light—ライトテーマのみdark—ダークテーマのみ
OrganizationMemberManagement-rootOrganizationMemberManagement-headerOrganizationMemberManagement-tabsOrganizationInvitationTab-rootOrganizationInvitationTab-tableOrganizationInvitationTab-createModalOrganizationInvitationTab-detailsModalOrganizationInvitationTab-revokeModalOrganizationInvitationTab-revokeResendModalOrganizationInvitationTab-bulkRevokeModalOrganizationInvitationTab-searchInputOrganizationInvitationTab-filterDropdownOrganizationInvitationTab-pagination