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

Newer Version Available

This content describes an older version of this product. View Latest

ConfirmUserRegistrationHandler インターフェース

Salesforce とサードパーティ ID プロバイダー間のシングルサインオン (SSO) ユーザーの対応付けを管理します。このインターフェースを使用して、更新前にユーザーの対応付けを確認します。

名前空間

Auth

使用方法

サードパーティ ID プロバイダーを使用するように SSO を設定するときは、Auth.RegistrationHandler インターフェースを使用して、登録ハンドラーを実装するクラスを作成します。このクラスは、ユーザーの作成および更新プロセスを管理します。アップグレードプロセスでユーザー情報の確認が必要な高度な使用事例では、クラスに Auth.ConfirmUserRegistrationHandler インターフェースを実装します。このインターフェースは、Auth.RegistrationHandler に加えて実装する必要があります。

Auth.ConfirmUserRegistrationHandler インターフェースを使用すると、Salesforce とサードパーティの間でユーザーが正しく対応付けられていることを確認できます。認証プロバイダーを使用してすでにログインしているユーザーが再ログインする場合、受信ユーザーデータがユーザーのサードパーティ識別子と一致していることを確認できます。一致していない場合、どのユーザーがログインすることになっているかを識別できます。

Auth.ConfirmUserRegistrationHandler インターフェースを使用して、複数のレコードを持つユーザーのコンテキストを切り替えることもできます。たとえば、あるユーザーが管理ユーザーと標準ユーザーの 2 つのレコードを持っているとします。ユーザーがログインするとき、サードパーティ ID プロバイダーは、ログインに使用されたアカウントを確認し、UserInfo エンドポイント経由で Salesforce に応答を送信します。この情報を使用して、ユーザーを管理ユーザーと標準ユーザーのいずれでログインさせるかを決定できます。

ConfirmUserRegistrationHandler のメソッド

ConfirmUserRegistrationHandler のメソッドは次のとおりです。

confirmUser(userId, tpalId, portalId, userdata)

ログインするユーザーの ID をサードパーティ識別子への対応付けに基づいて返します。このメソッドは、updateUser() メソッドより先にコールされます。ただし、このメソッドがコールされるのは、受信ユーザーがすでにログインし、Salesforce ユーザーへのサードパーティアカウントリンクを持っている場合のみです。

署名

public Id confirmUser(Id userId, Id tpalId, Id portalId, Auth.UserData userdata)

パラメーター

userId
型: Id
サードパーティアカウントリンクを介してサードパーティ識別子に対応付けられているユーザーの ID。
tpalId
型: Id
サードパーティ識別子に対応するサードパーティアカウントリンク。
portalId
型: Id
ユーザーがログインしているポータル ID。ポータルが設定されていない場合は、この値を null にします。
userData
型: Auth.UserData
サードパーティ ID プロバイダーからのユーザー情報を指定します。

戻り値

型: Id

ログインするユーザーの ID。null の場合、ログインは失敗します。

ConfirmUserRegistrationHandler の実装例

この例では、ユーザー更新プロセスで Auth.ConfirmUserRegistrationHandler インターフェースを実装し、メールアドレスと姓に基づいて正しいユーザーがログインしていることを確認します。

次の例では、実装をテストしています。