Skip Headers
Oracle® OpenSSO 8.0 Update 2 Release Notes
Release 8.0

Part Number E28339-03
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

6 Integrating OpenSSO 8.0 Update 2 with Oracle Access Manager

This chapter provides instructions for implementing single sign-on using OpenSSO 8.0 Update 2 and Oracle Access Manager 10g or 11g.

This information supplements conceptual information contained in Chapter 3, Integrating Oracle Access Manager, in the Sun OpenSSO Enterprise 8.0 Integration Guide. This use case provides a single sign-on experience to OpenSSO-protected applications by honoring an Oracle Access Manager session. The configured OpenSSO authentication module generates an OpenSSO session based on the Oracle Access Manager session.

6.1 Overview of Integration Steps

  1. Before You Begin

  2. Unpacking the Integration Bits

  3. Building Source Files for Oracle Access Manager in OpenSSO

  4. (Optional) Build an Authentication Scheme for OpenSSO in Oracle Access Manager

  5. Configuring Single Sign-On Using Oracle Access Manager and Oracle OpenSSO STS

  6. To Test Single Sign-On

  7. (Optional) Installing of Oblix AuthScheme into Oracle Access Manager

6.2 Before You Begin

Be sure you have access to the following components before you attempt to install OpenSSO 8.0 Update 2 for integration with Oracle Access Manager:

opensso.zip

This zip file contains the opensso.war file, integration source code, configuration files and other tools that are required for OpenSSO 8.0 Update 2 installation and configuration.

OpenSSO Agent

The OpenSSO Agent is used when an application protected by OpenSSO can actually use the authentication session established by Oracle Access Manager.

Oracle Access Manager 10g or 11g

Download Oracle Access Manager from Oracle web site. See the http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html page.

Oracle Web Gate 10g or 11g

Download Oracle Webgate for a container that is supported by both OpenSSO and Oracle Webgate. At this time, Web Server 7.x is the only container that is supported by both the products.

See the http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.htmlpage.

Oracle Access Manager SDK 10g or 11g

Download Oracle Access Manager. The SDK is required to compile and build OpenSSO Authentication Modules for Oracle Access Manager integration.

See the See the http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html page

OpenSSO C-SDK 2.2

(Optional) The OpenSSO C-SDK is required for creating an authentication module in Oracle Access Manager itself to generate an OAM session. This may not be a common use case from OpenSSO perspective. See Where is the C SDK? in Sun OpenSSO Enterprise 8.0 C API Reference for Application and Web Policy Agent Developers.

6.3 Unpacking the Integration Bits

The opensso/integrations/oracle directory contains source and configurations to compile and build custom authentication modules and other plugins. See Chapter 3, Integrating Oracle Access Manager, in Sun OpenSSO Enterprise 8.0 Integration Guide for use case options and related information. The following table summarizes the files under opensso/integrations/oracle directory and descriptions for each file.

README.html

This is the file you're reading now.

build.xml

An ant build file for building a custom authentication module for Oracle Access Manager in OpenSSO

config

Configuration files required for creating an authentication module for Oracle Access Manager in OpenSSO.

  • OblixAuthService.xml

    Authentication service file for Oracle Access Manager authentication module

  • OblixAuthModule.xml

    Authentication module callbacks for Oracle Access Manager.

    This is an empty file by default, but it must be present for configuration purposes.

  • OblixAuth.properties

    Properties file that stores internationalization keys for the authentication

lib

This directory is empty by default. This lib directory must contain the following libraries to compile the source libraries.

  • jobaccess.jar

    Copy this file from the Oracle Access Manager SDK.

  • openfedlib.jar, amserver.jar, and opensso-sharedlib.jar

    Copy these files from opensso.war

  • servlet.jar or javaee.jar

    Copy the GlassFish lib directory. Ideally, any JAR file that has standard Java EE classes such as javax.servlet.http.Cookie is fine.

source

Directory containing the following source files:

  • com/sun/identity/authentication/oblix/OblixAuthModule.java

  • com/sun/identity/authentication/oblix/OblixAuthModule.java

  • com/sun/identity/authentication/oblix/OblixPrincipal.java

  • com/sun/identity/saml2/plugins/OAMAdapter.java

    This class is a SAML2 Plugin Adapter for SAML Service Providers. This class does the remote authentication to Oracle Access Manager using the OpenSSO Session service.

oamauth (optional)

This directory contains source files for Oblix Authentication Scheme for OpenSSO. This is a C-based authentication module and leverages the OpenSSO C-SDK for validation.

  • oam/solaris/authn_api.c

    This file implements Oblix custom authentication scheme for OpenSSO.

  • oam/solaris/include/*.h

    All the header files that are required to compile auth scheme.

  • oam/solaris/AMAgent.properties

    Sample OpenSSO Agent configuration file. This is required for the authentication scheme to validate the OpenSSO session.

6.4 Building Source Files for Oracle Access Manager in OpenSSO

Use the ant script to build the source files. A compatible ant script must be installed and configured in the PATH.

6.4.1 To Build the Source Files for Oracle Access Manager

  1. Run the following command:

    cd $openssozipdir/integrations/oracle; ant -f build.xml

    This command builds source files and generates fam_oam_integration.jar into the $openssozipdir/integrations/oracle/dist directory.

  2. Bundle the authentication module into the OpenSSO WAR file.

    1. Create a temporary directory and unwar the opensso.war. Example:

      # mkdir /export/tmp
      # cd /export/tmp
      # jar -xvf opensso.war
      

      From now on, /export/tmp is used as a WAR staging area, and is represented with a marco $WAR_DIR.

    2. Copy $openssozipdir/integrations/oracle/dist/fam_oam_integration.jar to $WAR_DIR/WEB-INF/lib.

    3. Copy $openssozipdir/integrations/oracle/config/OblixAuth.properties to$WAR_DIR/WEB-INF/classes.

    4. Copy $openssozipdir/integrations/oracle/config/OblixAuthModule.xml to $WAR_DIR/config/auth/default, and also to the directory$WAR_DIR/config/auth/default_en.

    5. Re-war opensso.war using jar cvf opensso.war from $WAR_DIR.

6.5 (Optional) Build an Authentication Scheme for OpenSSO in Oracle Access Manager

Note: This is not a common use case. You do not have to build this unless it is required, such as in a SAML2 service provider use case.

To build the Oblix authentication scheme, you must customize the makefile. Also, since this is a C-based authentication module, it is operating system-dependent.

6.5.1 To Build an Authentication Scheme for OpenSSO in Oracle Access Manager

Before You Begin

The authentication scheme files are located under the $openssozipdir/integrations/oracle/oamauth/solaris directory.

  1. Download and configure the OpenSSO C-SDK 2.2 version.

    The authn_api.c file contains a reference to AMAgent.propeties file. Modify the file accordingly.

  2. Customize makefile for your environment.

    For example, specify the gcc compile location. Also edit the LDFLAGS to point to your OpenSSO C-SDK lib directory.

  3. Run the make command.

    The make command should result in an authn_api.so file.

6.6 Configuring Single Sign-On Using Oracle Access Manager and Oracle OpenSSO STS

6.6.1 To Configure Single Sign-On Using Oracle Access Manager and Oracle OpenSSO 8.0 Update 2

Before you begin:Web Server 7.x must already be installed and configured. For the Web Server installation instructions, see the following documentation library: http://docs.oracle.com/cd/E18958_01/index.htm.

  1. Install OpenSSO on Web Server 7.x.

  2. Install an OpenSSO Policy Agent on a supported container and configure the agent to work with OpenSSO.

    For installation instructions, see the Policy Agent 3.0 guide for the agent you are using. These guides are available in the following documentation collection:

    http://docs.oracle.com/cd/E19681-01/index.html

  3. Install and configure Oracle Access Manager.

    See the Oracle Access Manager Installation Guide 10g (10.1.4.3):

    http://docs.oracle.com/cd/E15217_01/doc.1014/e12493/toc.htm

  4. Install and configure Oracle Access Manager SDK with Oracle Access Manager.

    See the Oracle Access Manager Installation Guide 10g (10.1.4.3):

    http://docs.oracle.com/cd/E15217_01/doc.1014/e12493/toc.htm

  5. Install Oracle Webgate on the same web container where OpenSSO server is installed. (Web Server 7.x)

    Configure OpenSSO so that it protects only deployURI/UI/* of the OpenSSO web application. Example:/opensso/UI/.../*

    For Oracle Access Manager policies, resources and other configuration details, check the Oracle Access Manager administration guide. Unprotect every other URL in OpenSSO Enteprise. This is for simple single sign-on integration scenario, but evaluate policies based on full integration and other deployment dependencies.

  6. Configure the Authentication Module in OpenSSO.

    1. Access the OpenSSO console.

      The browser redirects to Oracle Access Manager for authentication. After successful authentication, OpenSSO presents a login page. Log in using the OpenSSO admin user name and password.

    2. Import the Oracle Authentication Module service XML file into the OpenSSO configuration.

      The authentication module service can be loaded from command line ssoadm utility, and as well as browser based ssoadm.jsp.

    3. Access http://host:port/opensso/ssoadm.jsp.

    4. Choose the create-service option.

    5. Copy and paste the XML file from $openssozipdir/integrations/oracle/config/OblixAuthService.xml and click Submit.

      This loads the authentication module service into the OpenSSO configuration.

    6. Register the authentication module into the authentication Core service.

      The Core service contains a list of authenticators. Choose the register-auth-module option in http://host:port/opensso/ssoadm.jsp. Enter com.sun.identity.authentication.oblix.OblixAuthModule as the authentication module class name.

    7. Verify that the authentication module is registered to the default realm.

      Access OpenSSO using the URL http://host:port/opensso. In the OpenSSO console, click the default realm, and then click the Authentication tab. Click New to create a new authentication module named OblixAuth.

    8. On the Authentication tab, select the OblixAuth authentication module.

      Configure the Oblix SDK directory. Enable Check Remote User Header Only, and specify the remote header name as OAM_REMOTE_USER. This parameter is configurable based on the deployment.

  7. (Optional) Enable the Ignore Profile option in the OpenSSO core authentication service.

    In the OpenSSO console, go to Configuration> Core> Realm Attributes> User Profile . Choose Ignored, and then click Save.

    This configuration prevents OpenSSO from searching for an existing user profile after successful authentication. However, if the user repository used by OpenSSO and Oracle Access Manager are exactly same, then this step is not necessary. Go to Admin Console -> Configuration -> Core -> Realm Attributes -> User Profile. Choose Ignored, and then click Save.

  8. Edit the web server start script to include Oracle Access Manager SDK shared libraries.

    Update LD_LIBRARY_PATH in the startserv script to include the shared libraries from $ACCESSDKDIR/oblix/lib.

  9. Restart the Web Server that contains both OpenSSO and Oracle Webgate.

  10. Update the Login URL for Web Agent value as http://openssohost:openssoport/deployURI/UI/Login?module=OblixAuth.

6.7 To Test Single Sign-On

Access the protected resource from the OpenSSO-protected application. The browser should redirect you to the Oracle Access Manager Login Page if you are not already authenticated. After successful login, it creates an OpenSSO session, and finally redirects back to the Policy Agent-protected application URL . Based on the policy, you are allowed or denied access to the protected application.

6.8 (Optional) Installing of Oblix AuthScheme into Oracle Access Manager

This is useful when the Oracle Access Manager session must be generated upon validating the OpenSSO session. See Chapter 3, Integrating Oracle Access Manager, in the Sun OpenSSO Enterprise 8.0 Integration Guide for information about relevant use cases.

The Oblix Authentication Schemes are exposed as C authentication modules, and this authentication scheme uses OpenSSO C-SDK 2.2 version to validate the OpenSSO Session. The OpenSSO Authentication Scheme in Oblix uses a configuration for the OpenSSO client-side configuration in AMAgent.properties. This file must be customized before configuring the authentication module. The build instructions specify the location of this file. The compiled authn_api.so and other C-SDK libraries must be copied to the $OAM_INSTALL_DIR/access/oblix/lib directory before configuring the Authentication Scheme. The Sun OpenSSO 8.0 Integration Guide shows a sample screen shot illustrating how to configure the Oracle Authentication Scheme, and this should be used as a reference only. For more details, see the latest Oracle Access Manager documentation.

6.9 Integrating the OpenSSO 8.0 Update 2 with Oracle Access Manager

This section provides instructions for implementing single sign-on using OpenSSO 8.0 Update 2 and Oracle Access Manager versions 10.1.4.0.1. and 11g. This information supplements conceptual information contained in Chapter 3, Integrating Oracle Access Manager, in the Sun OpenSSO Enterprise 8.0 Integration Guide. This use case provides a single sign-on experience to OpenSSO-protected applications by honoring an Oracle Access Manager session. The configured OpenSSO authentication module generates an OpenSSO session based on the Oracle Access Manager session.