Upgrading the UIO ISA Proxy Server

Part III Part III Customization and Extensions Part III contains the following chapters: ■ Chapter 7, Customizing Oracle Adaptive Access Manager ■ Chapter 8, Customizing the OAAM Server ■ Chapter 9, Customizing User Flow ■ Chapter 10, Using Virtual Authentication Devices ■ Chapter 11, Implementing OTP Anywhere ■ Chapter 12, Configurable Actions ■ Chapter 13, Device Registration ■ Chapter 14, Extending Device Identification ■ Chapter 15, Flash Fingerprinting 7 Customizing Oracle Adaptive Access Manager 7-1 7 Customizing Oracle Adaptive Access Manager The chapter provides information on how to customize Oracle Adaptive Access Manager by using the OAAM Extensions Shared Library. It contains the following sections: ■ Overview ■ Add Customizations Using the OAAM Extensions Shared Library

7.1 Overview

Shared libraries are collections of programming and data that can be used by multiple applications. They can permit applications to use memory efficiently by sharing common programming and resources. You can customize Oracle Adaptive Access Manager by adding custom jars and files to the OAAM Extensions Shared Library. This shared library, oracle.oaam.extensions.war, is located in IAM_ Homeoaamoaam_extensionsgeneric. It is deployed in both the OAAM Server and OAAM Admin Server. By default oracle.oaam.extensions.war contains the MANIFEST.MF, which has the definition of the shared library.

7.2 Add Customizations Using the OAAM Extensions Shared Library

Follow these steps to add customizations to Oracle Adaptive Access Manager: 1. Create a work folder called oaam_extensions. The folder can be created anywhere as long as it is outside the installation folder. 2. In the oaam_extensions folder, create the following subfolders: ■ META-INF ■ WEB-INF ■ WEB-INF\lib ■ WEB-INF\classes 3. In the META-INF folder, create a file named MANIFEST.MF and ensure it contains the following lines: Extension-Name: oracle.oaam.extensions Specification-Version:99.9.9.9.9 Implementation-Version:99.9.9.9.9 7-2 Oracle Fusion Middleware Developers Guide for Oracle Adaptive Access Manager The specification version and implementation version must be more than the versions in the file currently. For example, if the implementation version in the file is 11.1.1.3.0, you could change it to 99.9.9.9.9. 4. Compile custom java classes that extend or implement Oracle Adaptive Access Manager classes, adding the jars from the ORACLE_IDM_HOME\oaam\cli\lib folder to the build class path. 5. Add the custom jars and files as described: a. Add the custom jars to the IAM_Home\oaam\oaam_ extensions\generic\WEB-INF\lib folder. b. Add custom properties to a file named bharosa_server.properties and save it in the IAM_Home\oaam\oaam_ extensions\generic\WEB-INF\classes folder. Information about enums are provided in Section 7.3, User-Defined Enumerations. c. Add custom JSPs to the oaam_extensions folder. 6. Rejar oracle.oaam.extensions.war from the parent folder of oaam_ extensions using the command: jar -cvfm oracle.oaam.extensions.war oaam_extensions\META-INF\MANIFEST.MF -C oaam_extensions . 7. Start the WebLogic Server where Oracle Adaptive Access Manager is deployed and log into the WebLogic Administration Console. 8. Deploy the oracle.oaam.extensions.war file created in Step 6 as a Shared Library with oaam_server and oaam_admin as target applications. 9. Test the custom functionality and make sure files added to oracle.oaam.extensions.war are used by Oracle Adaptive Access Manager applications.

7.3 User-Defined Enumerations

To override any Oracle Adaptive Access Manager properties or extend Oracle Adaptive Access Manager enumerations, add those properties and enumerations to bharosa_server.properties and place that file in WEB-INF\classes or WEB-INF\classes\bharosa_properties directory. User-defined enums are a collection of properties that represent a list of items. Each element in the list may contain several different attributes. The definition of a user-defined enum begins with a property ending in the keyword .enum and has a value describing the use of the user-defined enum. Each element definition then starts with the same property name as the enum, and adds on an element name and has a value of a unique integer as an ID. The attributes of the element follow the same pattern, beginning with the property name of the element, followed by the attribute name, with the appropriate value for that attribute. The following is an example of an enum defining credentials displayed on the login screen of an OAAM Server implementation: bharosa.uio.default.credentials.enum = Enum for Login Credentials bharosa.uio.default.credentials.enum.companyid=0 bharosa.uio.default.credentials.enum.companyid.name=CompanyID bharosa.uio.default.credentials.enum.companyid.description=Company ID bharosa.uio.default.credentials.enum.companyid.inputname=comapanyid Customizing Oracle Adaptive Access Manager 7-3 bharosa.uio.default.credentials.enum.companyid.maxlength=24 bharosa.uio.default.credentials.enum.companyid.order=0 bharosa.uio.default.credentials.enum.username=1 bharosa.uio.default.credentials.enum.username.name=Username bharosa.uio.default.credentials.enum.username.description=Username bharosa.uio.default.credentials.enum.username.inputname=userid bharosa.uio.default.credentials.enum.username.maxlength=18 bharosa.uio.default.credentials.enum.username.order=1 7-4 Oracle Fusion Middleware Developers Guide for Oracle Adaptive Access Manager