I am writing a post after a long time and apologize for taking such a long gap. I feel that I am back with a good post this time.
I had worked on a requirement last week to use OAM 11g API for performing authentication and authorization and exposing the features as web services. Let us forget the latter and I am going to talk about using OAM 11g API and how to connect to OAM 11g Server. I have read through the OAM 11g Access SDK Documentation and here are my observations:
- There is no need install Access Server SDK 11g component unlike OAM 10g Access Server SDK.
- The Authentication and Authorization API is written in new package oracle.security.am.asdk. However the OAM 10g API is still applicable to use with OAM 11g but most of the API methods are deprecated. Check this API Java doc http://docs.oracle.com/cd/E21764_01/apirefs.1111/e22472/toc.htm for any classes of package com.oblix.access
- Policy Manager API is not present in OAM 11g SDK.
- It is very simple to compile and run the Access Client code in 11g in any of the application servers.
- Access Clients can be developed only in Java in OAM 11g unlike 10g where it supports C++/Java and so on.
- Refer the Comparison: 11g versus 10g Access API Classes section in Oracle doc for more information on changes at API classes/method return types level.
Let me jump into steps how to get into a state to execute a sample Access Client program.
- Download the file ofm_oam_sdk_generic_11.1.1.5.0_disk1_1of1.zip from OTN downloads.
- Create Host Identifier in OAM Admin Console as shown below
- Create Access Gate Profile in OAM 11g Admin Console with 10g Version. I have not used oamcfgtool for it.
- Create an Application Domain and create Resources and assign it to Protected/Public scheme as applicable. I am not getting into specifics of how to create these. I am using http resource type here.
- Create a java file in your local eclipse environment. An example is already given in Oracle Doc. Refer to the section 2.6.2.2 Example of a Simple Access Client: JAccess Client.java. Replace the attribute values of ms_resource, ms_method, ms_login, ms_passwd accordingly.
- Very Imp: Create a folder AccessSDK11g in your local machine, for instance D:\AccessSDK11g. Create folder structure as oblix/lib under AccessSDK11g. Copy the ObAccessClient.xml created after creating Access Gate profile in OAM Admin Console. Replace the attribute value of m_configLocation with D:\AccessSDK11g
- Very Imp: Copy the oamasdk-api.jar of Access Server SDK zip file (downloaded) and add it in Eclipse project class-path. In case if you wish to run this java file from Application Server itself, then add the jar to App Server Classpath variable.
That’s it. Once we have protected your application with Form based authentication (as explained in example) in Application Domains we are good to go with testing.
About the Author Mahendra
I am engulfed in Oracle Identity & Access Management domain. I have expertise on providing the optimized solutions for user provisioning, web access management, Single Sign-On and federation capabilities etc., I am also well versed with complex integrations within Identity Management and other product domains. I have expertise on building demos and implementation experience on products Oracle Access Manager, Oracle Adaptive Access Manager, Oracle Entitlement Server, Oracle Virtual Directory, Oracle Internet Directory etc.,
Look @ my blog: http://talkidentity.blogspot.com