1

クライアントのカスタム OIG パスワード管理要件に取り組んでいます。

ポリシー定義でパスワード履歴を検証しているときに問題に直面しています (例: 過去に使用した 5 つのパスワードと一致してはなりません)。

何らかの理由で、PasswordMgmtService API のvalidatePasswordAgainstPolicyメソッドが履歴の検証をバイパスし、ユーザーが古いパスワードを入力すると true を返します。

以下は、参照用のコード スニペットです。

public ValidationResult validatePasswordRACFPolicy(String loggedinUserKey, char[] userPassword)
{     
PasswordMgmtService pwdMgmtSvc = oimClient.getService(PasswordMgmtService.class); 
User usr = new User(loggedinUserKey); //loggedinUserKey is user key of logged in user
ValidationResult valResult = pwdMgmtSvc.validatePasswordAgainstPolicy(userPassword, usr, <App Instance Name>, Locale.getDefault());
IDMLOGGER.log(ODLLevel.FINEST, "Is Password Valid = " + valResult.isPasswordValid()); //this value is true even if user tries to reset password using any older passwords.
return valResult;   
}

最終的に、ターゲットでアカウントのパスワードを更新しようとすると、例外が発生します。

provSvc.changeAccountPassword(Long.valueOf(accountId), userPassword);
//provSvc is ProvisioningService API object, accountId is oiu_key, userPassword is the password entered by user.

例外の詳細は次のとおりです。

GenericProvisioningException An error occurred in oracle.iam.provisioning.handlers.ChangeAccountPasswordActionHandler/execute while changing the password for account with id 1234 and the casue of error is {2}.[[ at oracle.iam.provisioning.util.ProvisioningUtil.createEventFailedException(ProvisioningUtil.java:175) at oracle.iam.provisioning.handlers.ChangeAccountPasswordActionHandler.execute(ChangeAccountPasswordActionHandler.java:84 ... ... Class/Method: tcOrderItemInfo/validatePassword Error : Password Does Not Satisfy Policy 
4

0 に答える 0