Customizing Registration Page Messaging

11-12 Oracle Fusion Middleware Developers Guide for Oracle Adaptive Access Manager bharosa.uio.default.ChallengeSMS.authenticator.device=DevicePinPad bharosa.uio.default.ChallengeEmail.authenticator.device=DevicePinPad Available challenge device values are DeviceKeyPadFull, DeviceKeyPadAlpha, DeviceTextPad, DeviceQuestionPad, DevicePinPad, and DeviceHTMLControl.

11.9 Customizing OTP Anywhere Data Storage

This section describes how to customize data storage for OTP Anywhere. You can customize OTP Anywhere by implementing the com.bharosa.uio.manager.user.UserDataManagerIntf interface.

11.9.1 com.bharosa.uio.manager.user.UserDataManagerIntf

The methods used in customization are: ■ public String getUserDataUIOSessionData sessionData, String key; ■ public void setUserDataUIOSessionData sessionData, String key, String value;

11.9.2 Default Implementation - com.bharosa.uio.manager.user.DefaultContactInfoManager

The default implementation expands on the interface to break every get and set into two items: UserDataValue and UserDataFlag. The UserDataFlag is used by OAAM to track that a value has been set, or soft reset a value. When rules are used to check if a user is registered for a given item, the UserDataFlag will be checked in the OAAM database. The UserDataValue is the actual data element entered by the user. In the default implementation this is also stored in the OAAM database, but by extending the DefaultContactInfoManager class and overriding the UserDataValue methods getUserDataValue and setUserDataValue the data can be stored in an external location if required. Methods public class DefaultContactInfoManager implements UserDataManagerIntf { public String getUserDataUIOSessionData sessionData, String key{ if getUserDataFlagsessionData, key{ return getUserDataValuesessionData, key; Table 11–17 Authentication Device Type Property Description None No HTML page or authentication pad DeviceKeyPadFull Challenge user using KeyPad. DeviceKeyPadAlpha Challenge user with the alphanumeric KeyPad numbers and letters only, no special characters DeviceTextPad Challenge user using TextPad. DeviceQuestionPad Challenge user using QuestionPad. DevicePinPad Challenge user using PinPad. DeviceHTMLControl Challenge user using HTML page instead of an authentication pad. Implementing OTP Anywhere 11-13 } return null; } public void setUserDataUIOSessionData sessionData, String key, String value{ setUserDataValuesessionData, key, value; setUserDataFlagsessionData, key, value; } protected void setUserDataValueUIOSessionData sessionData, String key, String value{ VCryptAuthUser clientUser = sessionData.getClientAuthUser; if clientUser = null { clientUser.setUserDataBharosaConfig.getoaam.otp.contact.info.prefix, otpContactInfo_ + key, value; } } protected String getUserDataValueUIOSessionData sessionData, String key { VCryptAuthUser clientUser = sessionData.getClientAuthUser; if clientUser = null { return clientUser.getUserDataBharosaConfig.getoaam.otp.contact.info.prefix, otpContactInfo_ + key; } return null; } protected void setUserDataFlagUIOSessionData sessionData, String key, String value{ VCryptAuthUser clientUser = sessionData.getClientAuthUser; if clientUser = null { if StringUtil.isEmptyvalue { clientUser.setUserDataBharosaConfig.getoaam.otp.contact.info.flag.prefix, otpContactInfoFlag_ + key, null; } else { clientUser.setUserDataBharosaConfig.getoaam.otp.contact.info.flag.prefix, otpContactInfoFlag_ + key, true; } } } protected boolean getUserDataFlagUIOSessionData sessionData, String key { VCryptAuthUser clientUser = sessionData.getClientAuthUser; if clientUser = null { return Boolean.valueOfclientUser.getUserDataBharosaConfig.getoaam.otp.contact.info.fl ag.prefix, otpContactInfoFlag_ + key; } return false; } }