委任管理:メンバーシップクエリフック
新しいユーザーの作成では、ユーザーインターフェイスにドロップダウンが表示され、ユーザーに割り当てるメンバーシップを選択することができます。これらのメンバーシップはメンバーシップクエリフックを使って定義されます。
フックコントラクト
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 ]);
}
Was this helpful?
/
注記
このクエリが使用できるのは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 ]
});
}
Was this helpful?
/