ConfigurableSelfRegHandler インターフェース
名前空間
使用方法
コミュニティのセルフ登録は、[管理] ワークスペースの [ログイン & 登録] (L&R) ページで宣言的に設定します。設定可能なセルフ登録設定と組み合わせた場合、ハンドラクラスでプログラムでユーザ項目 (カスタム項目を含む) を入力できるほか、ユーザを作成してログインする方法を決定できます。
[設定可能なセルフ登録ページ] 登録ページを選択した場合、セルフ登録フォームで収集するユーザ項目 (名、姓、ユーザ名、ニックネーム、モバイル、メールなど) を選択します。また、ユーザの本人確認で使用する検証方法も決定します。この方法では、メールまたはモバイルを使用できます。またこのどちらも使用しないこともできます。Salesforce は、コミュニティメンバーの作成ロジックが含まれる Auth.ConfigurableSelfRegHandler ハンドラを生成します。ユーザの作成方法と、収集したユーザ情報の使用方法を変更するには、このハンドラを変更します。
メールまたは電話番号が、登録している外部ユーザに固有のものとなるようにカスタムロジックを追加することをお勧めします。たとえば、一意のカスタム項目を追加し、メールまたは電話番号のコピーをその項目に書き込みます。また、ユーザの作成方法も変更できます。デフォルトでは、ユーザは、L&R ページで選択された取引先に関連付けられた取引先責任者として作成されます。
生成された ConfigurableSelfRegHandler は [設定] の [Apex クラス] ページに配置され、AutocreatedConfigSelfReg で始まります (AutocreatedConfigSelfReg1532475901849 など)。
例については、「ConfigurableSelfRegHandler の実装例」を参照してください。詳細は、『Salesforce External Identity Implementation Guide (Salesforce External Identity 実装ガイド)』を参照してください。
ConfigurableSelfRegHandler メソッド
ConfigurableSelfRegHandler のメソッドは次のとおりです。
createUser(accountId, profileId, registrationAttributes, password)
署名
public Id createUser(Id accountId, Id profileId, Map<Schema.SObjectField,String> registrationAttributes, String password)
パラメータ
- accountId
- 型: Id
- 新規ユーザが関連付けられるデフォルトのアカウント。この値は、[ログイン & 登録] ページの [登録ページ設定] の [アカウント] 項目設定から取得されます。
- profileID
- 型: Id
- 新規ユーザに割り当てるプロファイル。この値は、[ログイン & 登録] ページの [登録ページ設定] の [プロファイル] 項目設定から取得されます。
- registrationAttributes
- 型: Map<Schema.sObjectField,String>
- セルフ登録ページで登録ユーザが入力した属性の対応付け。登録種別が [設定可能なセルフ登録ページ] の場合、セルフ登録ページに表示される項目は [ログイン & 登録] ページで選択した [ユーザの項目] から取得されます。
- password
- 型: String
- ユーザが入力したパスワード ([ログイン & 登録] ページで [パスワードを含める] が選択されている場合)。パスワードはユーザの作成に必要であるため、パスワードが入力されていない場合はハンドラで生成する必要があります。
ConfigurableSelfRegHandler の実装例
システム管理者が [ログイン & 登録] (L&R) ページで設定可能なセルフ登録ハンドラを設定するときに検証方法として [メール] を選択している場合、検証はメールによって実行されます。訪問者がログインページのサインアップリンクをクリックすると、Salesforce はメールアドレスの入力を要求した後、指定されたメールアドレスにワンタイムパスワードを送信します。検証ページで訪問者が確認コードの入力に成功したら、ユーザが作成され、ログインされます。同様に、システム管理者が L&R ページで検証方法として [テキストメッセージ] を選択している場合、訪問者は電話番号の入力を要求されます。Salesforce は、SMS を介してチャレンジ (確認コード) をユーザに送信します。成功した場合、ユーザが作成されてログインされます。ユーザを作成する前に検証を要求することで、組織に存在する不要なダミーユーザの数を減らすことができます。
Auth.ConfigurableSelfRegHandler クラスには、ユーザの作成に必要なユーザ項目がユーザから提供されない場合に、その項目を生成するためのロジックが含まれます。ハンドラは、タイムスタンプを追加することで値が一意となるようにデフォルト値を生成します。外部ユーザのメールアドレスと電話番号も一意であることを確認するようにハンドラを変更することができます。