パッケージ org.iplass.mtp.auth.oidc
インタフェース AutoUserProvisioningHandler
public interface AutoUserProvisioningHandler
OpenID Provider(OpenID Connect)を利用したログイン処理の際、
iPLAss内に存在しないユーザーを自動的に作成する場合に実装するインタフェース。
-
メソッドの概要
修飾子とタイプメソッド説明default void
attributeMappingToUserInstance
(User user, String subjectId, String subjectName, Map<String, Object> attributes) attributesの値をUserエンティティにマッピングします。認証されたユーザーが存在しない場合に呼び出されるので、 Userエンティティを生成する処理を記述する。default void
init
(OpenIdConnectDefinition definition) AutoUserProvisioningHandlerの処理化処理を記述可能。default User
Userエンティティを作成、永続化せずに一時的なログインを許可する場合(OpenIdConnectDefinitionのenableTransientUserがtrue)の 一時的なUserエンティティのインスタンスを作成して返却するよう実装します。void
認証されたユーザーの再ログインのタイミングで、呼び出される。
-
メソッドの詳細
-
init
AutoUserProvisioningHandlerの処理化処理を記述可能。- パラメータ:
definition
-
-
createUser
認証されたユーザーが存在しない場合に呼び出されるので、 Userエンティティを生成する処理を記述する。- パラメータ:
subjectId
- OpenID Provider内で一意となるユーザー識別子subjectName
- OpenId Connect定義で指定されるsubjectNameClaimの値attributes
- その他IdToken、UserInfo Endpointから取得したClaim情報- 戻り値:
- 生成したUserエンティティのoid
-
updateUser
認証されたユーザーの再ログインのタイミングで、呼び出される。 ユーザー属性を更新する必要がある場合は、更新処理を記述する。- パラメータ:
user
-subjectId
- OpenID Provider内で一意となるユーザー識別子subjectName
- OpenId Connect定義で指定されるsubjectNameClaimの値attributes
- その他IdToken、UserInfo Endpointから取得したClaim情報
-
attributeMappingToUserInstance
default void attributeMappingToUserInstance(User user, String subjectId, String subjectName, Map<String, Object> attributes) attributesの値をUserエンティティにマッピングします。 デフォルトの実装では、次の値を設定します。Userエンティティのプロパティ OIDCで連携されたユーザー属性 accountId [subjectId]@[OpenIdConnect定義名]※1形式で値を設定 name subjectNameの値。subjectNameの値がnullの場合は、accountIdと同じ値を設定 mail email。ただしemail_verifiedがtrueの場合 firstName given_name lastName family_name - パラメータ:
subjectId
- OpenID Provider内で一意となるユーザー識別子subjectName
- OpenIdConnect定義で指定されるsubjectNameClaimの値attributes
- その他IdToken、UserInfo Endpointから取得したClaim情報
-
transientUser
Userエンティティを作成、永続化せずに一時的なログインを許可する場合(OpenIdConnectDefinitionのenableTransientUserがtrue)の 一時的なUserエンティティのインスタンスを作成して返却するよう実装します。 デフォルトの実装では、 attributeMappingToUserInstance()メソッドを呼び出し、 oidには、accountIdと同様の値([subjectId]@[OpenIdConnect定義名])を設定したインスタンスを返却します。- パラメータ:
subjectId
- OpenID Provider内で一意となるユーザー識別子subjectName
- OpenIdConnect定義で指定されるsubjectNameClaimの値attributes
- その他IdToken、UserInfo Endpointから取得したClaim情報- 戻り値:
-