メインコンテンツへスキップ
新しいユーザーの作成では、ユーザーインターフェイスにドロップダウンが表示され、ユーザーに割り当てるメンバーシップを選択することができます。これらのメンバーシップは メンバーシップクエリフック を使って定義されます。

フックコントラクト

  • ctx :コンテキストオブジェクトです。
  • callback(error, { createMemberships: true/false, memberships:}) :エラーとメンバーシップ構成を含むオブジェクトを返すコールバックです。

使用例

IT部のユーザーは他の部署にユーザーを作成できなくてはなりません。他の部署のユーザーは自身の部署にのみユーザーを作成できなくてはなりません。
function(ctx, callback) {
  var currentDepartment = ctx.payload.user.app_metadata && ctx.payload.user.app_metadata.department;
  if (!currentDepartment || !currentDepartment.length) {
    return callback(null, [ ]);
  }

  if (currentDepartment === 'IT') {
    return callback(null, [ 'IT', 'HR', 'Finance', 'Marketing' ]);
  }

  return callback(null, [ ctx.payload.user.app_metadata.department ]);
}

注記

このクエリが使用できるのはUI内だけであるため、特定部署のユーザー割り当てにルールの実行が必要な場合には、 書き込みフック を使用してメンバーシップを割り当てなければなりません。 メンバーシップのグループが1つだけの場合、UIに[Memberships(メンバーシップ)]フィールドは表示されません。 createMemberships をtrueに設定すると、エンドユーザーが memberships フィールドに任意の値を入力できるようになります。
function(ctx, callback) {
  var currentDepartment = ctx.payload.user.app_metadata.department;
  if (!currentDepartment || !currentDepartment.length) {
    return callback(null, [ ]);
  }

  return callback(null, {
    createMemberships: ctx.payload.user.app_metadata.department === 'IT' ? true : false,
    memberships: [ ctx.payload.user.app_metadata.department ]
  });
}

もっと詳しく

I