OIM UserManager APIを使用してユーザー・パスワードを変更するイベント・ハンドラを作成しています。ただし、パスワード・ポリシーを検討してから、OIMで定義されたパスワード・ポリシーと互換性のある新しいパスワードを生成する必要があります。
ここで役立ついくつかの API とメソッドを教えてください。
OIM UserManager APIを使用してユーザー・パスワードを変更するイベント・ハンドラを作成しています。ただし、パスワード・ポリシーを検討してから、OIMで定義されたパスワード・ポリシーと互換性のある新しいパスワードを生成する必要があります。
ここで役立ついくつかの API とメソッドを教えてください。
import oracle.idm.common.ipf.api.password.RandomPasswordGenerator;
import oracle.idm.common.ipf.api.password.RandomPasswordGeneratorImpl;
上記のクラスは、私が探していたランダムに生成されたパスワードを実際に処理します。以下のコードは、同じ実装を示しています。
PasswordPolicyInfo passwordPolicyInfo = ((PasswordMgmtService)Platform.getService(PasswordMgmtService.class)).getApplicablePasswordPolicy(entityId, Boolean.valueOf(false));
RandomPasswordGenerator randomPasswordGenerator = new RandomPasswordGeneratorImpl();
OimPasswordPolicy policy = new OimPasswordPolicy(Utils.getIpfPasswordPolicyInfoVO(passwordPolicyInfo));
policy.setId(passwordPolicyInfo.getId());
policy.setName(passwordPolicyInfo.getName());
char[] generatedPassword = randomPasswordGenerator.generatePassword(policy, null);
PasswordMgmtService
OIMが提供するAPIを利用できます。イベント ハンドラ コードのパスワード生成ロジックで以下のメソッドを使用できます。
PasswordPolicyDescription getApplicablePasswordPolicyDescription(java.lang.String userID)
オブジェクトには、PasswordPolicyDescription
パスワード ポリシーの作成中に構成されたすべてのプロパティがあります。