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 Class」を参照してください。
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 Class」を参照してください。