Newer Version Available
RegistrationHandler インターフェース
名前空間
RegistrationHandler のメソッド
RegistrationHandler のメソッドは次のとおりです。
createUser(portalId, userData)
署名
public User createUser(ID portalId, Auth.UserData userData)
パラメーター
- portalId
- 型: ID
- userData
- 型: Auth.UserData
戻り値
型: User
updateUser(userId, portalId, userData)
署名
public Void updateUser(ID userId, ID portalId, Auth.UserData userData)
パラメーター
- userId
- 型: ID
- portalId
- 型: ID
- userData
- 型: Auth.UserData
戻り値
型: Void
ユーザー情報の保存とアクセストークンの取得
Auth.UserData クラスは、Auth.RegistrationHandler のユーザー情報を保存するために使用されます。サードパーティ認証プロバイダーは、ユーザー名、メールアドレス、ロケールなど、ユーザーに関する多くのデータを返送できます。頻繁に使用されるデータは、Auth.UserData クラスで共通の形式に変換され、登録ハンドラーに送信されます。
登録ハンドラーが残りのデータを使用する場合のために、Auth.UserData クラスには attributeMap 変数が用意されています。属性の対応付けは、サードパーティからの全データの未加工値に対する文字列 (Map<String, String>) の対応付けです。対応付けは <String, String> であるため、サードパーティが返す文字列以外の値 (URL の配列や対応付けなど) は、適切な文字列表現に変換されます。対応付けには、サードパーティ認証プロバイダーから返されたすべてデータが含まれます。これには、自動的に共通形式に変換されたデータも含まれます。
Auth.UserData プロパティについての詳細は、「Auth.UserData クラス」を参照してください。
Janrain 以外のすべての認証プロバイダーでは、ユーザーがプロバイダーを使用して認証されたら、Auth.AuthToken Apex クラスを使用して、そのプロバイダーに関連付けられたこのユーザー用のアクセストークンを Apex で取得できます。Auth.AuthToken には、アクセストークンを取得する 2 つのメソッドが含まれています。1 つは単一のアクセストークンを取得する getAccessToken です。ユーザー ID が単一のサードパーティユーザーに対応付けられている場合は、このメソッドを使用します。ユーザー ID が複数のサードパーティユーザーに対応付けられている場合は、サードパーティユーザーごとにアクセストークンの対応付けを返す getAccessTokenMap を使用します。認証プロバイダーについての詳細は、Salesforce ヘルプの「認証プロバイダー」を参照してください。
認証プロバイダーとして Janrain を使用する場合、Janrain accessCredentials 辞書の値を使用してアクセストークンまたは同等の項目を取得する必要があります。Janrain でサポートされている一部のプロバイダーのみがアクセストークンを提供し、その他のプロバイダーは他の項目を使用します。Janrain accessCredentials の項目は、Auth.UserData クラスの attributeMap 変数で返されます。accessCredentials についての詳細は、Janrain auth_info のドキュメントを参照してください。
Auth.AuthToken メソッドについての詳細は、「Auth.AuthToken クラス」を参照してください。