この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ConfigurableSelfRegHandler インターフェース

Auth.ConfigurableSelfRegHandler を実装するクラスを作成することで、コミュニティへの訪問者のセルフ登録方法をより詳細に制御できます。収集するユーザ情報と、ユーザが本人確認を行う方法 (メールアドレス、電話番号、または別の ID を使用する) を選択します。検証が完了したら、新しい外部ユーザを作成して、ユーザをコミュニティにログインします。

名前空間

Auth

使用方法

コミュニティのセルフ登録は、[管理] ワークスペースの [ログイン & 登録] (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
ユーザが入力したパスワード ([ログイン & 登録] ページで [パスワードを含める] が選択されている場合)。パスワードはユーザの作成に必要であるため、パスワードが入力されていない場合はハンドラで生成する必要があります。

戻り値

型: Id

作成されたユーザオブジェクトの識別子を返します。Auth.ConfigurableSelfRegHandler はユーザを挿入し、そのユーザの ID を返します。

ConfigurableSelfRegHandler の実装例

この Apex コードは Auth.ConfigurableSelfRegHandler インターフェースを実装します。訪問者がサインアップページに入力し、送信したら、訪問者の入力情報でコミュニティメンバーを作成するためのハンドラが呼び出されます。登録プロセスでメールまたは電話検証が必要とされる場合、検証プロセスが完了してから Auth.ConfigurableSelfRegHandler.createUser が呼び出されます。検証が必要とされない場合、訪問者がページを送信すると createUser が呼び出されます。

システム管理者が [ログイン & 登録] (L&R) ページで設定可能なセルフ登録ハンドラを設定するときに検証方法として [メール] を選択している場合、検証はメールによって実行されます。訪問者がログインページのサインアップリンクをクリックすると、Salesforce はメールアドレスの入力を要求した後、指定されたメールアドレスにワンタイムパスワードを送信します。検証ページで訪問者が確認コードの入力に成功したら、ユーザが作成され、ログインされます。同様に、システム管理者が L&R ページで検証方法として [テキストメッセージ] を選択している場合、訪問者は電話番号の入力を要求されます。Salesforce は、SMS を介してチャレンジ (確認コード) をユーザに送信します。成功した場合、ユーザが作成されてログインされます。ユーザを作成する前に検証を要求することで、組織に存在する不要なダミーユーザの数を減らすことができます。

Auth.ConfigurableSelfRegHandler クラスには、ユーザの作成に必要なユーザ項目がユーザから提供されない場合に、その項目を生成するためのロジックが含まれます。ハンドラは、タイムスタンプを追加することで値が一意となるようにデフォルト値を生成します。外部ユーザのメールアドレスと電話番号も一意であることを確認するようにハンドラを変更することができます。