Skip Headers
Oracle® Access Manager Integration Guide
10g (10.1.4.0.1)

Part Number B25347-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

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

4 Integrating with Oracle Application Servers

This chapter describes integrating with OracleAS Single Sign-On for authentication and authorization purposes. When integrating Oracle Access Manager's authorization functionality, either Oracle Access Manager or OracleAS Single Sign-On can act as the authentication engine.

This integration enables you to provide identity management functionality across Web-based applications that run on Oracle Application Servers, for example, Oracle E-Business Suite, Oracle Forms, Portals, and other Access System-protected resources.

This chapter covers the following topics:


Note:

This chapter does not describe configuration of the Oracle Virtual Directory Server. See the Oracle Access Manager Installation Guide for details.

4.1 Integration Overview and Environment Preparation

This section discusses the following topics:

4.1.1 Supported Authentication Schemes for the Oracle Application Servers

Oracle Access Manager provides authentication and single sign-on for OracleAS 10g. This enables you to use a single user name and password (and optionally a realm ID), to log in to all features of the Oracle Application Servers and other Web applications. The integration uses the following authentication schemes:

  • Form based

  • Basic

  • Custom

  • Integrated Windows Authentication

  • Microsoft .Net Passport

4.1.2 OracleAS 10g Infrastructure

OracleAS 10g applications provide a similar infrastructure and a security framework for single sign-on for Oracle and other partner applications. The integration of Oracle Access Manager single sign-on with OracleAS 10g involves the following components.

OracleAS Single Sign-On Server: This enables Oracle applications to accept authentication from other applications. You can enable single sign-on between Access System-protected applications and applications protected within the OracleAS 10g single sign-on framework. You can use a single user name and password and optionally a realm ID to log in to all features of the Oracle Application server and other Web applications.

Oracle HTTP Server: This is the Web server interface for OracleAS 10g. Oracle HTTP Server is the integration point between Oracle Access Manager and OracleAS 10g. During the installation, a WebGate is installed as a module on Oracle HTTP Server. You must use the 10g (10.1.4.0.1) WebGate for Oracle HTTP Server.

Oracle Internet Directory (OID): The LDAP directory that serves as a user repository for OracleAS 10g applications. The OID can be synchronized with other connected directories.

4.1.3 Integration Architecture

Figure 4-1 illustrates the integration between Oracle Access Manager and Oracle Application Servers.

Figure 4-1 Oracle Access Manager and Oracle Application Server Integration Architecture

Integration Architecture

Process overview: Integration of Oracle Access Manager with Oracle Application Server

  1. When a user attempts to access an Oracle Access Manager-protected application or Web resource, a WebGate intercepts the request.

  2. WebGate requests the security policy from the Access Server to determine if the resource is protected.

  3. When the resource is protected, WebGate prompts the user to authenticate.

  4. The credentials entered by the user are validated against the directory for authentication.

  5. When authentication is successful, an encrypted Oracle Access Manager single sign-on cookie is set on the user's browser.

  6. After successful authentication, the Access System determines if the user is authorized by applying policies that have been configured for the resource.

  7. Upon successful authorization, the Access System executes the actions that have been defined in the security policy and sets an HTTP header variable that maps to the OracleAS 10g user ID.

  8. The OracleAS Single Sign-On Server recognizes the Oracle Access Manager HeaderVar, authenticates the user, and sets the Oracle single sign-on Cookie.


Note:

The OID must be synchronized with the Oracle Access Manager directory to ensure that user data is up-to-date. OID performs the synchronization.

4.1.4 Supported Versions and Platforms

To see the supported versions and platforms for this integration refer to Metalink, as follows.

To view information on Metalink

  1. Go to the following URL:

    http://metalink.oracle.com

  2. Click the Certify tab.

  3. Click View Certifications by Product.

  4. Select the Application Server option and click Submit.

  5. Choose Oracle Application Server and click Submit.

4.1.5 Preparing Your Environment

The following task overview lists the requirements for preparing for configuring single sign-on.

Task overview: Preparing your Environment

  1. Install OracleAS 10g.

  2. Install the Oracle Infrastructure.

    OracleAS Infrastructure 10g includes:

    • Oracle Application Server Metadata Repository

    • OracleAS Single Sign-On Server

    • Oracle Internet Directory (a lightweight directory access protocol (LDAP))


    Note:

    The servers where the Oracle infrastructure and Oracle Access Manager are installed must have fully qualified domain names, for example, hostname.domain.net.

  3. Install and set up Oracle Access Manager components.

    See the Oracle Access Manager Installation Guide for details. Install the following:

    • Identity Server

    • WebPass

    • Access Server (includes Policy Manager)

  4. On the Oracle HTTP Server, install a WebGate for use with OracleAS 10g.

    See the Oracle Access Manager Installation Guide for details.

    Update the Web server configuration file:

    • Automatic Web Server Updates: Click Yes to automatically update your Web server configuration file (Oracle HTTP Server httpd.conf) during WebGate installation, as described in the Oracle Access Manager Installation Guide.

    • Manual Web Server Updates: Use one of the following methods:

      Either: Locate the Oracle HTTP Server httpd.conf file after WebGate installation, add the WebGate entry at the end of the file, then run the following commands on an infrastructure terminal:

      Opmnctl restartproc process-type=HTTP_Server

      Or: Use the Oracle Enterprise Manager Console to:

      Launch the Oracle Enterprise Manager.

      Select the Oracle Application Server hosting the Oracle Infrastructure.

      Select the HTTP Server hosting the WebGate.

      Navigate to Advanced Server Properties.

      From the list of configured files, select httpd.conf for update.

      Include the WebGate entry at the end of the file.

  5. Restart the Oracle HTTP Server after the Web Server configuration file update.

  6. Configure OracleAS Single Sign-On for external authentication.

  7. Configure the Web browser to allow cookies.

  8. Proceed to "Single Sign-On with OracleAS 10g" on page 4-5.

4.2 Single Sign-On with OracleAS 10g

When integrating Oracle Access Manager with OracleAS 10g Application Server, each OracleAS application's configuration is provided separately. This integration requires configuring OracleAS 10g for external authentication and configuring Oracle Access Manager logout.

You complete the following procedures to set up OracleAS 10g for the integration:

Task overview: Integrating Oracle Access Manager with OracleAS 10g

  1. Set up your machines, as described in "Preparing Your Environment".

  2. Set up the OracleAS.

  3. Set up Oracle Access Manager, as described in "Configuring Oracle Access Manager for Integration with OracleAS 10g".

  4. Test the integration, as described in "Testing the Integration with OracleAS" on page 4-14.

4.2.1 Enabling Single-Sign On

Enabling single-sign on for the integration between Oracle Access Manager and OracleAS 10g includes creating a java class and editing the policy.properties file, as discussed in the following paragraphs.

4.2.1.1 Creating the Java Class for Integration

The first step in enabling single sign-on for the integration involves coding a Java class, which will look for the Header variable from Oracle Access Manager.


Note:

This example assumes you have installed and set up the Identity System and Access System, created a policy domain in the Access System, defined an authorization action that sets a Header Variable with the ID of the user, and configured global logout. See "Protecting the Single-Sign On Login URL" and "Implementing Global Logout from OracleAS Single Sign-On and Access Server" for details.

To code a JAVA class to look for a Oracle Access Manager HeaderVar

  1. In the Access System, create rules to protect the following URIs:

    /sso/auth/

    /pls/orasso/orasso.wwsso_app_admin.ls_login

    See "Protecting the Single-Sign On Login URL" for details.

  2. Create a Java file for your package.

    For help, copy the source code from the Sample Files section #SSOOblixAuth.java in the following location:

    ORCLE_HOME/sso/lib

    Save the file as SSOOblixAuth.java. Before it is compiled, this package directive must be added to it:

    package oblix.security.ssoplugin;

  3. Compile the file, including ORACLE_HOME/sso/lib/ipastoolkit.jar in the class path. The sample file SSOOblixAuth.java is compiled this way:

    ORACLE_HOME/jdk/bin/javac -classpath ORACLE_HOME/sso/lib/ipastoolkit.jar:ORACLE_HOME/lib/servlet.jar -d ORACLE_HOME/sso/plugin SSOOblixAuth.java

    Note that the colon separator (":") is appropriate for Linux. On Windows, use a semicolon (";") as the separator.

    This command creates SSOOblixAuth.class and places it in the directory ORACLE_HOME/sso/plugin/oblix/security/ssoplugin.

  4. Next you need to register the Java class for integration by editing the policy.properties file in the following location:

    OracleAS_install_dir/sso/conf

    Where OracleAS_install_dir is the directory where OracleAS Single Sign-On infrastructure is installed.

  5. In the OracleAS Single Sign-On policy.properties file, replace the simple authentication plug-in with the plug-in that you created in the previous steps. In this class, navigate to the line MediumSecurity_AuthPlugin:

    MediumSecurity_AuthPlugin = oracle.security.sso.server.auth.SSOServerAuth

    Comment out the existing line and add a new line to register your Java class, as follows:

    MediumSecurity_AuthPlugin = oblix.security.ssoplugin.SSOOblixAuth

    When editing policy.properties, take care not to insert blank space at the end of a line.

  6. Save the file.

  7. Restart the single sign-on middle tier, and restart the OC4J instance OC4J_SECURITY to have your changes to take effect:

    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server

    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY

  8. Test the integrated system

4.2.2 Integrating the Delegated Administration Service

The Delegated Administration Service (DAS) is part of the Oracle Identity Management, an integrated infrastructure that includes the following components:

  • Oracle Internet Directory—An LDAP V3-compliant directory service

  • Delegated Administration Service (DAS)—The Oracle Internet Directory component that provides trusted proxy-based administration of directory information by users and application administrators.

  • Oracle Directory Integration Service—A component of the Oracle Internet Directory that permits synchronization between the Oracle Internet Directory and other directories and user repositories.

  • Provisioning Integration Service—The Oracle Internet Directory component that provides automatic provisioning of services, as described in Oracle documentation.

The DAS is installed by default when you install the OracleAS 10g Infrastructure, and should integrate automatically. No additional steps are needed for a user to access DAS when Oracle Access Manager is integrated with single sign-on.

The DAS link is:

http://infra-machine-name:port/oiddas


Note:

If you experience errors using Create/Edit user and Create/Edit groups portlets, move the DAS to the middle tier from the Infrastructure. For details, see "Integrating the Portal" on page 4-8.

4.2.3 Integrating the Portal

The Oracle Application Server Portal enables you to build, deploy, and maintain self-service, integrated Enterprise Information Portals (EIPs). A customized portal page can present information from different providers and can include both enterprise search and directory lookup fields.

A portal page consists of multiple portlets. Each portlet is a region of the portal page that provides dynamic access to a Web-based resource.

When Oracle Access Manager single sign-on is integrated with OracleAS 10g, users should be able to access the portal as follows:

http://midtier_home:port/pls/portal


Note:

The Create/Edit user and Create/Edit groups portlets call the DAS from the portal. If you experience errors using Create/Edit user and Create/Edit groups portlets, you need to move the DAS to the middle tier from the Infrastructure.

4.2.4 Enabling Single-Sign On for Forms

The Oracle Application Server Forms Services is a middle-tier application framework that you use to deploy complex transactional forms applications to the internet.

When you integrate Oracle Access Manager with OracleAS 10g, you need to enable single sign-on for forms. Once single sign-on is enabled for forms, Oracle Access Manager handles authentication and you should not be challenged to enter the schema user ID and password either by the single sign-on login page or by the forms.

To enable single sign-on for forms

  1. Locate the forms90.conf file located in the following directory:

    midtier_home/forms90/server

  2. At the end of the forms90.conf file add the following lines.

    <IfModule mod_osso.c>
       <Location /forms90/f90servlet>
          require valid-user
          AuthType Basic
       </Location>
    </IfModule>
    
    
  3. Restart OC4J_BI_FORMS and the forms server to have you changes take affect.

    Next you create a Resource Access Descriptor (RAD) for the OID users. A RAD can be created at a global level so all users can use the same RAD to access the resource. Alternatively, the RAD can be created for each user.

  4. Create a Resource Access Descriptor (RAD) for the OID users to map the LDAP user to the Database schema.

    The next step can be done at the global level in the formsweb.cfg file (the default configuration), or at the application level to make individual applications single sign-on enabled.

  5. Set the ssoMode to true to make the application single sign-on enabled using the Enterprise Manager to update the formsweb.cfg file.

    For example, to make an individual application single sign-on enabled:

    [myApp]
    form=myFmxs
       ssoMode=true
    
    

    For more information, see chapter 6 in the Oracle Application Server Forms Services Deployment Guide 10g (9.0.4) for Windows and Unix, Part No. B10470-02.

  6. Test this implementation by navigating to the following URL:

    http://midtier_home:port/forms90/f90servlet?config=default
    

4.2.5 Integrating Reports Services

The Oracle Application Server Reports Services allow you to deploy reports to the OracleAS 10g, as described in your Oracle documentation.

Reports are single sign-on-enabled out of the box and should work without further steps when you integrate Oracle Access Manager with OracleAS 10g.

To access the protected reports page

  1. Point your browser to the following URL:

    http://machine:port/reports/rwservlet/showenv

  2. Log in when challenged by WebGate.

  3. Confirm that once authenticated you can view the Environment settings for Oracle Reports (an single sign-on-protected page).

For more information, see chapter 10 of the Oracle Application Server Reports Services Publishing Reports to the Web 10g (9.0.4), Part No B13673-01.

4.2.6 Synchronizing the OID and Oracle Access Manager LDAP Directory

The next step in the configuration of OracleAS 10g for integration with Oracle Access Manager is to use the Oracle synchronization tool to synchronize user information between the Oracle OID and the LDAP directory server used by Oracle Access Manager.

For details about this synchronization tool and process, see your Oracle OID documentation.


Note:

To test the integration without synchronizing the directories, you need to create an Oracle administrator (oracladmin) within Oracle Access Manager for login purposes.

4.2.7 Implementing Global Logout from OracleAS Single Sign-On and Access Server

By default, the WebGate logs a user out when it receives a URL containing "logout." See the section on logout from a single domain single sign-on session in the Oracle Access Manager Access Administration Guide for details. As a result, the default single sign-on logout page does not work with OracleAS Single Sign-On. The discussion "Logout.jsp" provides a sample file you that need to configure logout.

To implement global logout from OracleAS Single Sign-On

  1. Edit the following parameters in ORACLE_HOME/sso/conf/policy.properties. Substitute the paths to your logout page for the value shown in the following example:

    #Deployment login page link
    loginPageUrl = /sso/pages/login.jsp
    logoutPageUrl = /sso/pages/logout.jsp
    
    
  2. Restart the single sign-on server:

    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server
    ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
    
    
  3. In the Access System, go to the page where you configure the single sign-on logout URL.

    From the Access System Console, click System Configuration, then click Server Settings, then click Configure SSO Logout URL.

  4. On this page, configure the single sign-on logout URL to invoke the OracleAS Single Sign-On logout URL.

    Add a logout URL similar to the following:

    http://host:port/sso/logout

    Where host is the computer where the OracleAS Single Sign-On server is installed and port is the listen port for the server. When the user clicks the Logout link in Oracle Access Manager, the logout URL removes session cookies and redirects users to a logout page. See the appendix on configuring logout in the Oracle Access Manager Access Administration Guide for details.

  5. Go to the page where you configure the WebGate logout URL from the Access System Console by clicking Access System Configuration, then click AccessGate Configuration, then select a WebGate.

  6. On the page that shows the WebGate details, click Modify, then provide a new logout URL similar to the following:

    /access/oblix/lang/en-us/style2/oblixlogo.gif

    The URL can be any gif file or Web page. This page is embedded in logout.jsp. See "Logout.jsp" for details.

  7. Repeat the previous two steps for every WebGate-protected cookie domain.

  8. Add a page that you want to display after the user is logged out.

  9. Confirm that you can perform a global logout both from Oracle AS Single Sign-On Server and from the Access Server.

4.2.8 Configuring Oracle Access Manager for Integration with OracleAS 10g

After installing Oracle Access Manager and installing a WebGate on the OracleAS HTTP Server, you need to create Oracle Access Manager access control policies to protect OracleAS resources.

Task overview: Setting up Oracle Access Manager for integration with OracleAS 10g includes

  1. Install and set up the Identity System and Access System, as outlined in "Preparing Your Environment".

  2. Navigate to the Identity System Console and create an Oracle Administrator (orcladmin) user to match the orcladmin user who already exists in the Oracle OID, as described in the Oracle Access Manager Identity and Common Administration Guide.

  3. Complete "Protecting the Single-Sign On Login URL".

4.2.9 Protecting the Single-Sign On Login URL

You need to protect the following single sign-on login URL so that the WebGate challenges the user whenever the OracleAS Single Sign-On 10g is accessed:

/sso/auth/

The following activities are required to protect the single sign-on login URLs, or any other resources, using the Access System.

Each step in the following task list is a full procedure. For complete details, see the related chapters in this guide.

Task overview: Protecting resources with Oracle Access Manager

  1. Define an authentication scheme using the Access System Console.

    For example:

    Access System Console, Access System Configuration, Authentication Management,  Add
    
    
  2. Create a policy domain using the Policy Manager.

    For example:

    Policy Manager, Create Policy Domain
    
    
  3. Add a resource to your policy domain using the Policy Manager.

    For example:

    Policy Manager, Create Policy Domain, Resources
    
    
  4. Define rules for your policy domain using the Policy Manager.

    For example:

    Policy Manager, Create Policy Domain, Default Rules
    
    
  5. Define an Authorization action that sets a Header Variable with the ID of the user.

    For example:

    Policy Manager, Create Policy Domain, Default Rules, Authorization Expressions,  Actions
    
    

    Authorization Success

    Return

    Type: HeaderVar

    Name: XXX_REMOTE_USER

    Return Attribute: loginAttribute

    where XXX is any prefix (used because "REMOTE_USER" is often an internal header for HTTP servers) and where loginAttribute is the attribute configured as the Login semantic type in the Identity System. This name must map to the login name of the user stored in the OracleAS single sign-on repository. Some people have used the "EMPLID" attribute, which will pass the Employee ID of logged in user.

    Upon successful authorization, the value of loginAttribute is passed on to the OracleAS 10g server.


    Note:

    To use a HeaderVar that is different from XXX_REMOTE_USER, you need to replace XXX_REMOTE_USER with the desired variable in two locations: Access System Console, Authorization Rule, Actions, and in the OracleAS Java class. See "Creating the Java Class for Integration" for details.

  6. In the Authorization rule, allow access to Anyone.

    For example:

    Policy Manager, Create Policy Domain, Authorization Rules, Name, Allow Access, Any one
    
    
  7. Enable the Authorization rule.

    For example:

    Policy Manager, Create Policy Domain, Authorization Rules, Name,
    
    
  8. Enable the Policy Domain.

    For example:

    Policy Manager, My Policy Domains, Name, Modify, Enabled 
    
    

    The single sign-on configuration is now complete.

  9. Test your policy domain, as described in the section on using Access Tester in the Oracle Access Manager Access Administration Guide.

4.3 Authorization Support for Applications Protected by OracleAS Single Sign-On

By default, the WebGate component of Oracle Access Manager intercepts all URLs, and the Access System authenticates the users who invoked the URLs. However, if you want to use OracleAS Single Sign-On to provide the authentication functionality for application login, you can configure the OHS Web server to pass authentication requests to mod_osso. This enables OracleAS Single Sign-On to continue to authenticate the user. Additionally, you can configure OracleAS Single Sign-On to pass the user's information to Oracle Access Manager for authorization.

This section describes how to implement Access System-based authorization for OracleAS Single Sign-On-protected HTTP resources.

The rest of this section discusses the following topics:

4.3.1 About Authorization of OracleAS Single Sign-On-Protected Applications

In this type of integration, it is assumed that you have configured user authentication for various applications using OracleAS Single Sign-On. See the Oracle Application Server Single Sign-On Administrator's Guide for details.

After OracleAS Single Sign-On authenticates a user, Oracle Access Manager applies an external authentication scheme that looks for a REMOTE_USER header variable and maps it to an Oracle Access Manager user. If Oracle Access Manager can authenticate the user, the Access System performs user authorization. During authorization, the WebGate checks for the REMOTE_USER header variable. If it is set, the WebGate performs authorization according to polices that are defined in the Access System.

4.3.2 Configuring Authorization Support for OracleAS Single Sign-On-Protected Resources

This section assumes that you have installed OracleAS Single Sign-On, configured the middle tier applications to use OracleAS Single Sign-On authentication, and installed the WebGate on the middle-tier OHS. See the information on configuring the middle tier in the Oracle Application Server Single Sign-On Administrator's Guide and the section on "Preparing Your Environment" in this chapter for details.

The following procedure describes configuring OracleAS Single Sign-On authentication with Oracle Access Manager authorization.

To configure authentication using OracleAS Single Sign-On and authorization using Oracle Access Manager

  1. On the computer that hosts the OHS Web server, comment following lines in the WebGate section in the file ORACLE_HOME/Apache/Apache/conf/httpd.conf:

    <LocationMatch "/*">
    AuthType Oblix
    require valid-user
    </LocationMatch>
    
    
  2. On Linux, locate the WebGate-specific section in the httpd.conf file.

    This section is enclosed by the following lines:

    #*** BEGIN WebGate Specific **** 
    #*** END WebGate Specific ****
    
    

    Move this section before the line that contains the include statement for mod_osso.conf.

  3. Restart the Web server for this WebGate.

  4. Protect your resources on the middle-tier OHS with OracleAS Single Sign-On using static pattern rules.

    See the Oracle Identity Management Application Developer's Guide for details. This is required to use OracleAS Single Sign-On authentication features, for example, Windows Native Authentication.

To define an external authentication scheme in Oracle Access Manager

  1. From the Oracle Access Manager landing page, click Access System Console, click Authentication Management, and click Add.

  2. Define an authentication scheme similar to the following on the General tab for the authentication scheme:

    Name: External auth scheme

    Challenge Method: Ext

    Challenge Parameter: creds:REMOTE_USER

  3. On the Plug-ins tab for the authentication scheme, add a credential mapping plug-in that uses the REMOTE_USER header variable, for example:

    obMappingBase="dc=us,dc=mycompany,dc=com",obMappingFilter="(&(&
    (objectclass=inetorgperson)(uid=%REMOTE_USER%))(|(!(obuseraccountcontrol=*)) (obuseraccountcontrol=ACTIVATED)))"
    
    

    When implementing this plug-in, substitute values for obMappingBase and the person object class that are appropriate for your environment.

To define the policies to protect the middle-tier application URLs

  1. From the landing page for Oracle Access Manager, click Policy Manager.

  2. Click Create Policy Domain.

  3. Define policies to protect any middle-tier application URL.

    Configure the polices using the external authentication scheme that you configured in the previous procedure. See the Oracle Access Manager Access Administration Guide for details.

  4. If a WebPass and Policy Manager are installed on the same Web server as the WebGate, configure OracleAS Single Sign-On to authenticate users who try to access the Identity and Access Systems.

    Add two static URL patterns to the OracleAS Single Sign-On http.conf file:

    <LocationMatch "/identity/oblix">
      AuthType Basic
      require valid-user
    </LocationMatch>
     
    <LocationMatch "/access/oblix">
      AuthType Basic
      require valid-user
    </LocationMatch>
    
    

    These rules enable OracleAS Single Sign-On to perform authentication for the Identity System and Policy Manager.

  5. Also, if a WebPass and Policy Manager are installed on the same Web server as the WebGate, ensure that the external authentication scheme that you configured in the previous procedure is protecting the Identity and Access domains.

    See the Oracle Access Manager Access Administration Guide for details.

To configure logout for the integration

  1. See"Implementing Global Logout from OracleAS Single Sign-On and Access Server" for details.

4.4 Testing the Integration with OracleAS

After you set up OracleAS and Oracle Access Manager for integration, test to ensure that the integration is successful.

To test Oracle Access Manager single sign-on for OracleAS

  1. Enter the following URL in the browser:

    http://machinename:port/sso/

    where machinename is the machine where the OracleAS Server is installed and port is the port number of the machine.

    You should be presented with a login page. After you have successfully authenticated, the OracleAS Web resource page appears.

  2. You can try to access various applications as the same user.

    If Oracle Access Manager single sign-on is successful, you will be allowed access to the page without being challenged for authentication.

  3. You an also try to test different authorization rules in the Access System.

    For example, if there are time conditions set for login, you may try logging in at different times.

  4. When you are ready to log out, click the Logout link.

    If Oracle Access Manager single sign-on is successful, you will be logged out of all Oracle Access Manager-protected resources.

4.5 OracleAS 10g Files

The following two sample files can be customized to meet your requirements:

4.5.1 SSOOblixAuth.java

package oblix.security.ssoplugin;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.security.sso.ias904.toolkit.IPASAuthInterface;
import oracle.security.sso.ias904.toolkit.IPASAuthException;
import oracle.security.sso.ias904.toolkit.IPASUserInfo;
import oracle.security.sso.ias904.toolkit.IPASInsufficientCredException;
import java.net.URL;
import java.util.*;
 
public class SSOOblixAuth implements IPASAuthInterface 
{
    private static String OBLIX_USER_HEADER = "XXX_REMOTE_USER";
    private static String CLASS_NAME = "SSOOblixAuth";
    
    public SSOOblixAuth()
    {
      System.out.println("Inside SSOOblixAuth constructor.....");
    }
    public IPASUserInfo authenticate(HttpServletRequest request)
      throws IPASAuthException, IPASInsufficientCredException {
      
 
      String OblixUserName = null;
      
      try
       {
         System.out.println(".............Getting Header Variable............");
         OblixUserName = request.getHeader(OBLIX_USER_HEADER);
         
         System.out.println("The Header name............."+OblixUserName);
       }
       catch (Exception e)
       {
         throw new IPASInsufficientCredException("No Oblix Header");
       }
 
       if (OblixUserName == null)
           throw new IPASInsufficientCredException("No Oblix Header");
       
       IPASUserInfo authUser = new IPASUserInfo(OblixUserName);
       System.out.println("The IPASUserInfo Class............"+authUser);
       return authUser;
       
    }
 
 
    public URL getUserCredentialPage(HttpServletRequest request,String msg) {
 
System.out.println("Inside Get User Crediential Page ..........Should not come     here>......");
 
        URL errorURL=null;
        try
        {
           errorURL=new URL(new String(request.getRequestURL()));
        }
        catch(Exception ee){};
        return  errorURL;
    }
 
 
}

4.5.2 Logout.jsp

You can use the following sample file as discussed in "Implementing Global Logout from OracleAS Single Sign-On and Access Server".

<!-- Copyright (c) 1999, 2003, Oracle. All rights reserved. -->
<%@page autoFlush="true" session="false"%>
<%
// Declare English Message Strings
String msg1 = "Single Sign-Off";
String msg2 = "Application Name";
String msg3 = "Logout Status";
String msg4 = "ERROR: The return URL value not found.";
String msg5 = "ERROR: Logout URL for partner applications not found.";
// Get the user language preference
String userLocaleParam = null;
java.util.Locale myLocale = null;
// Get the user locale preference sent by the SSO server
try
{
userLocaleParam = request.getParameterValues("locale")[0];
}
catch(Exception e)
{
userLocaleParam = null;
}
if( (userLocaleParam == null) || userLocaleParam.equals("") )
{
myLocale = request.getLocale();
}
else
{
if(userLocaleParam.indexOf("-") > 0 )
{
// SSO server sent the language and territory value (e.g. en-us)
myLocale = new java.util.Locale(userLocaleParam.substring(0, 2), userLocaleParam.substring(3, 5));
}
else
{
// SSO server sent only the language value (e.g. en)
myLocale = new java.util.Locale(userLocaleParam, "");
}
}
// The following two lines will be used only for the Multilingual support with
// proper resource bundle class supplied
// java.util.ResourceBundle myMsgBundle
// = java.util.ResourceBundle.getBundle("MyMsgBundleClassName", myLocale);
// Get the message string in the appropriate language using the message key.
// Use this string to display the message in this page.
// String mesg = myMsgBundle.getString("mesg_key");
%>
<html>
<body bgcolor="#FFFFFF">
<h1><%=msg1%></h1>
<%
String done_url = null;
int i = 0;
// Get the return URL value
try
{
done_url = request.getParameterValues("p_done_url")[0];
}
catch(Exception e)
{
done_url = "";
}
// Get the application name and logout URL for each partner application
try
{
%>
<b> <%=msg2%> &nbsp; <%=msg3%> </b>
<br>
// Substitute an actual host, domain, and port for myhost.us.mydomain.com:7777
// that points to the WebGate. 
<img src="http://myhost.us.mydomain.com:7777/access/oblix/lang/en-us/style2/oblixlogo.gif">
<%
for(;;)
{
i++;
String app_name = request.getParameterValues("p_app_name"+i)[0];
String url_name = request.getParameterValues("p_app_logout_url"+i)[0];
%>
<%=app_name%>
&nbsp;
<img src="<%=url_name%>">
<br>
<%
}
}
catch(Exception e)
{
if(done_url == null)
{
%>
<%=msg4%> <br>
<%
}
if(i>1)
{
%>
<br> <a href="<%=done_url%>">Return</a>
<%
}
else
{
%>
<%=msg5%><br>
<%
}
}
%>
</body>
</html>

4.6 Troubleshooting the OracleAS 10g Integration

The following are troubleshooting tips for the Oracle 10g integration.

Problem: With a form-based authentication scheme, while accessing OIDDAS/Form application/ externally deployed J2EE applications, the OracleAS single sign-on login page is displayed after the Oracle Access Manager Form login page.

Solution: This happens if mod_osso uses a POST based redirection method instead of GET to call the single sign-on server. The redirection method used is based on value of OssoRedirectByForm directive. To use GET method, this directive needs to be set to false. In Oracle 10g Application Server, this value is set to false by default.

To verify that this directive is set to false

  1. Verify the value of OssoRedirectByForm directive.

  2. Launch the Oracle Enterprise Manager.

  3. Select the Oracle Application Server instance where the Oracle Infrastructure is installed.

  4. Select the HTTP Server where WebGate is installed and navigate to Advanced Server Properties.

  5. From the list of configured files, select the mod_osso.conf file.

  6. Check if OssoRedirectByForm is set to true.

    By default the values is false.

  7. If the default directive value is not used, set it to false as shown in the following example:

    <IfModule mod_osso.c>
    OssoIpCheck off
    OssoIdleTimeout off
    OssoConfigFile
    /private1/iasinst/install_set1/904infra/Apache/Apache/conf/osso/osso.conf
    OssoRedirectByForm off
    </IfModule>
    
    
  8. Click Apply.

  9. Restart the OracleAS HTTP Server.

Problem: How do I find ORASSO and Portal schema passwords?

Solution: Complete the following procedure.

To find these database schema passwords

  1. Login to Oracle Directory Manager as the super user orcladmin.

  2. Expand the tree on the left hand side, as follows:

    Cn= OracleContext

    Cn=Products

    Cn=IAS

    Cn=IAS Infrastructure Databases

    OrclReferenceName=<global database name>

    OrclResourceName=ORASSO

  3. Click the ORASSO entry and look for the value for attribute orclpasswordattribute (the Password for ORASSO schema).


    Note:

    Similarly you can click the OrclResourceName=PORTAL for the portal schema password.

Problem: How do I check the single sign-on logs?

Solution: You can view the single sign-on logs from Enterprise Manager (EM).

  1. Log in to EM.

  2. Click the Logs link at the bottom of the page.

    A search screen appears.

  3. From the Available Components list select Single Sign-on:orasso and move it to the Selected Components.

  4. Perform the search to view the single sign-on logs.

Problem: How do I create a default RAD?

Solution: Complete the following steps to create a default RAD:

To create a default RAD

  1. Access OIDDAS Console, Configuration, Preference, as usual.

  2. Scroll to the bottom of the page to display Resource Access Information.

  3. Click Create to create a new resource file.

  4. Enter a Resource Name:

    For example, for a default configuration you can use:

    default
    

    Note:

    Resource name created over here should be the same as the configuration present in formsweb.cfg file.

  5. Click Next, fill in the user ID and password and the connect string for the database, and click Submit.

    The user ID is a valid DB user. Database refers to the DB used. For example, if a schema named "Scott" is used and a Database "asdb'", the test entries are:

    Username: scott

    Password: tiger

    Database: asdb

Problem: How do I create a user-specific RAD?

Solution: Complete the following steps to create a user-specific RAD:

To create a user-specific RAD

  1. Access the OIDDAS console, as usual.

  2. Select the Directory tab found at the top right hand corner of the page.

  3. Click Create to create a new user.

  4. Select a user name, for example, ssotest with a password of ssotest1.

    You can choose to add all other details.

  5. Scroll to the bottom of the page to Resource Access Information.

  6. Click Create to create a new resource file.

  7. Enter a Resource Name, for example, ssotest_db.

  8. Click Next, fill in the user ID, password, and connect string for the database, then click Submit.

The user ID here is a valid DB user. For testing purposes, the default Scott schema can be used. Database is the DB used, with a default value of asdb. For example, the test entries could be:

Username: scott

Password: tiger

Database: asdb