<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUcFSXk-eyp7ImA9WhRbEU4.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186</id><updated>2012-02-01T13:50:18.753-08:00</updated><category term="metalink" /><category term="oracle access manager" /><category term="install" /><category term="logging" /><category term="Strong Authentication" /><category term="dogwood" /><category term="ws-policy" /><category term="Performance" /><category term="Waveset" /><category term="keys" /><category term="localization" /><category term="soa" /><category term="maven" /><category term="grant" /><category term="entitlementsserver" /><category term="Fusion Middleware" /><category term="patches" /><category term="oracle identity manager" /><category term="internetexplorer" /><category term="JDeveloper" /><category term="OIM 11g" /><category term="troubleshooting" /><category term="eus" /><category term="Fusion Apps" /><category term="opatch" /><category term="Request based" /><category term="zeroconf" /><category term="cwallet.sso" /><category term="webcast" /><category term="OAAM" /><category term="whatnottodo" /><category term="tips" /><category term="resources" /><category term="spring" /><category term="11g" /><category term="jsessionid" /><category term="idm" /><category term="sts" /><category term="frustration" /><category term="entitlements" /><category term="x509" /><category term="oim 11g academy" /><category term="reassociation" /><category term="kerberos" /><category term="humor" /><category term="authentication provider" /><category term="plsql" /><category term="ucm" /><category term="jsf" /><category term="java" /><category term="ales" /><category term="webservices" /><category term="security" /><category term="osts" /><category term="best practices" /><category term="host identifiers" /><category term="groups" /><category term="CAPTCHA" /><category term="jsr115" /><category term="federation" /><category term="event handler" /><category term="links" /><category term="APIs" /><category term="BPEL" /><category term="LDAP" /><category term="OpenID" /><category term="adf" /><category term="enterprisemanager" /><category term="JDK" /><category term="tns" /><category term="internals" /><category term="oam" /><category term="Fusion Applications" /><category term="idenity management" /><category term="virtualusers" /><category term="ssl" /><category term="weblogic" /><category term="wsrp" /><category term="jps-config.xml" /><category term="ws-security" /><category term="workarounds" /><category term="oow09" /><category term="oam x509 cac cert authentication 11g" /><category term="users" /><category term="jpsconfig" /><category term="ws-trust" /><category term="workflow" /><category term="he" /><category term="5minutesorless" /><category term="openaz" /><category term="hosts" /><category term="codesource" /><category term="owsm" /><category term="ovd dn translation wls authentication provider" /><category term="risk" /><category term="Oracle" /><category term="OIF" /><category term="oel" /><category term="jazn-data.xml" /><category term="FMW" /><category term="AccessController" /><category term="node manager" /><category term="identity propagation" /><category term="iam" /><category term="osb" /><category term="OIM" /><category term="JPS" /><category term="oracle entitlements server" /><category term="sspi" /><category term="oes" /><category term="forms" /><category term="oid" /><category term="spnego" /><category term="MDS" /><category term="database" /><category term="userroleapi" /><category term="transient" /><category term="apache" /><category term="wcf" /><category term="wls" /><category term="esso" /><category term="Sun 2 Oracle" /><category term="xacml" /><category term="WebCenter" /><category term="soap" /><category term="login" /><category term="sso" /><category term="opss" /><category term="howto" /><category term="oam 11g academy" /><category term="googleaps" /><category term="deployment" /><category term="security theory" /><category term="Identity Analytics" /><category term="OIA" /><category term="ovd" /><category term="proxy authentication" /><category term="how-to" /><category term="identityasserter" /><category term="jvm" /><category term="web services" /><category term="policies" /><category term="vnc" /><category term="openldap" /><category term="OAM Integration" /><category term="Design Console" /><category term="keytool" /><category term="opmn" /><category term="Sun" /><category term="PKI" /><category term="hacks" /><category term="LDAP Groups" /><category term="mod_wl" /><category term="Custom Approval" /><category term="identity" /><category term="twitter" /><category term="T3S" /><category term="jboss" /><category term="saml" /><category term="ADF security" /><category term="standards" /><category term="wna" /><category term="token" /><category term="cookiepath" /><category term="opmnctl" /><category term="authenticator" /><category term="securitystore" /><category term="owsn" /><category term="obiee" /><category term="AD" /><category term="nerdingout" /><category term="passwordpolicies" /><title>Oracle Fusion Middleware Security</title><subtitle type="html">As members of the Fusion Middleware Architecture Group (a.k.a the A-Team), we get exposed to a wide range of challenging technical issues around security and Oracle Fusion Middleware.  We're using this blog to answer common questions and provide interesting solutions to the real-world scenarios that our customers encounter every day.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://fusionsecurity.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Andre Correa</name><uri>http://www.blogger.com/profile/02002324440974871079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_fD4zU7n9hTU/S7FK5igweRI/AAAAAAAAA44/ypx6aQUP4c8/S220/andre.jpeg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>231</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/OracleFusionMiddlewareSecurity" /><feedburner:info uri="oraclefusionmiddlewaresecurity" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUcFSXk9eyp7ImA9WhRbEU4.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-1236897746360037517</id><published>2012-02-01T13:50:00.000-08:00</published><updated>2012-02-01T13:50:18.763-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T13:50:18.763-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oam" /><category scheme="http://www.blogger.com/atom/ns#" term="oam 11g academy" /><title>Logging in your OAM plug-in</title><content type="html">I&amp;#39;ve been playing around with the OAM plug-in API and working on putting together a very simple JDeveloper project that includes a custom login form and an OAM plug-in that demonstrates the basics of using the interface.
&lt;p&gt;&lt;/p&gt;

I&amp;#39;m going to get that blog post out eventually, but for right now I need to talk about logging inside your plug-in.
&lt;p&gt;&lt;/p&gt;

OAM uses the Java Logger (java.util.logging.Logger and related classes) to record all of the debugging information in an easily manageable way. When you write your first plug-in it can be a bit confusing to figure out how the heck you get your logging messages out. It&amp;#39;s not at all complicated, but it does mean you need to understand how OAM manages its logging.
&lt;p&gt;&lt;/p&gt;

Let&amp;#39;s start with the absolutely minimum amount of code you need to log:

&lt;pre name="code" class="java"&gt;
package com.oracleateam.iam.oamauthnplugin;

// a bunch of imports go here

public class DemoAuthNPlugin extends AbstractAuthenticationPlugIn {
  public DemoAuthNPlugin() {
    super();
    LOGGER.finest(this.getClass.getName() + &amp;quot; constructor called.&amp;quot;);
  }

  // other methods
}
&lt;/pre&gt;

That&amp;#39;s it. The bare minimum needed to get logging working.
&lt;p&gt;&lt;/p&gt;

Of course you need to do a little more work... Click through to see what else you need to do.
&lt;a href="http://fusionsecurity.blogspot.com/2012/02/logging-in-your-oam-plug-in.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-1236897746360037517?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/KVUkOuMluXI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/1236897746360037517/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2012/02/logging-in-your-oam-plug-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/1236897746360037517?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/1236897746360037517?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/KVUkOuMluXI/logging-in-your-oam-plug-in.html" title="Logging in your OAM plug-in" /><author><name>Chris Johnson (Oracle)</name><uri>http://www.blogger.com/profile/13331466366556759355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/-17wXvBzmlUo/TaUQBWvZe6I/AAAAAAAAAD0/D1v2wobDYZY/s220/TheRealCMJ.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2012/02/logging-in-your-oam-plug-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YHSHo8eCp7ImA9WhRUFk4.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-5106430452492980680</id><published>2012-01-26T20:28:00.000-08:00</published><updated>2012-01-26T20:38:59.470-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-26T20:38:59.470-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fusion Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="Fusion Apps" /><title>A Further Introduction to Oracle IDM and Fusion Apps</title><content type="html">&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Last week I gave an&lt;/span&gt;&lt;a href="http://fusionsecurity.blogspot.com/2012/01/fusion-security-apps-edition.html"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt; introduction into the Fusion Middleware Security in Fusion Applications&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;This week I’d like to expand on that introduction to talk specifically, but still at a high level, about how the the Oracle IDM products&amp;nbsp;fit&amp;nbsp;in Fusion Apps.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;To review, here I’m talking specifically about OID, OVD, OAM, OIM, and optionally OIF.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Active Participants&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;If you are going to take anything away from what I have written or will write about Fusion Apps and IDM let it be this:&lt;strong&gt; Do not ignore the Identity and Access Management components of Fusion Applications or take&amp;nbsp;them for granted. &lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Even more than the other FMW components in Fusion Apps, the IDM components are not black boxes. They are independent products that must be actively managed. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Independently Installed&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;This starts at the very beginning with the fact that unlike the other FMW components, the IDM components of Fusion Apps is installed separately from the actual Fusion Apps kit. In fact, what I like to call the IDM environment for Fusion Apps is a pre-requisite to the Fusion Apps install itself which in turn asks approximately 100,000 questions about the IDM environment that it will be leveraging. This IDM environment includes its own database and web tiers which are distinct from the Fusion Apps database and web tiers.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;This process is really just a specific build out of the Oracle IDM Suite, very similar to what an Oracle IDM Suite customer might do for a traditional enterprise deployment.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;So, to successfully deploy Fusion Apps, you must be able to successfully deploy the Oracle IDM suite.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Mission Critical&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;The IDM components of Fusion Applications are mission critical. If OVD, OID, or OAM aren’t working properly (or God forbid, aren’t working at all) then neither is Fusion Apps. It is that simple.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;So, if you want a high available deployment of Fusion Apps, you better make OVD, OID, OAM, and OIM highly available. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;If you want to be able to restore a backup of your Fusion Apps environment, you better know how to back the IDM components.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;If you want to be able to monitor the health status of your Fusion Apps deployment, you better include the IDM components in that monitoring.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Smart people involved in the deployment and/or management of Fusion Apps will recognize this and give proper attention to deploying and tuning the IDM environment for Fusion Apps in a way that is consistent with the requirements for the total FA deployment.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;strong&gt;Skill Sets You’ll Want to Have&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;During a Fusion Apps deployment and the build out of the IDM environment that is a part of that deployment you’ll want to be able to:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Understand the deployment options described in the IDM Enterprise Deployment Guide (Fusion Apps Edition).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to use that guide to architect an appropriate IDM build out for your specific Fusion Apps requirements.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to install OID, OVD, OAM, OIM, and optionally OIF; along with the related pre-requisite and auxiliary packages such as SOA suite, WLS, and OHS.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to tune all the above components.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to do basic configuration of each of the listed components. The specifics of what this means varies from component to component and even deployment to deployment.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;On an ongoing basis you’ll want to be able to:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Enable and analyze debug logging for each component.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Monitor each component using Enterprise Manager (EM) or integrate the component with an existing monitoring framework in your enterprise.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to take backups of the IDM environment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to start and stop each component.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to patch each component.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Finally, you’ll still want to have basic configuration and administration knowledge for each component around for expected and unexpected changes and maintenance.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;strong&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Conclusion&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;While being able to author complex OAM policies, write custom OVD adaptors, or create complex SOA composites for custom OIM approvals isn’t necessary for most if not all Fusion Apps projects; a foundational proficiency with the Oracle IDM stack where one can install, manage, and monitor each IDM product is required for a successful and stable deployment of Fusion Apps.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;In the coming weeks I plan to write more about how to plan for, execute, and verify a successful IDM build out for Fusion Apps.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-5106430452492980680?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/eeaHWmsGKys" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/5106430452492980680/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2012/01/further-introduction-to-oracle-idm-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/5106430452492980680?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/5106430452492980680?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/eeaHWmsGKys/further-introduction-to-oracle-idm-and.html" title="A Further Introduction to Oracle IDM and Fusion Apps" /><author><name>Brian Eidelman</name><uri>http://www.blogger.com/profile/00527044305949442012</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2012/01/further-introduction-to-oracle-idm-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEABR3w4fip7ImA9WhRUEUs.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-1062627729727662679</id><published>2012-01-20T15:00:00.000-08:00</published><updated>2012-01-21T08:19:16.236-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-21T08:19:16.236-08:00</app:edited><title>OIM 11g &amp; LDAP Synchronization</title><content type="html">Since the first OIM 11g release, one of the frequently asked questions about OIM 11g is:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Should I configure OIM with LDAP synchronization or should I deploy a LDAP connector?&lt;/li&gt;
&lt;/ul&gt;
Since earlier versions, OIM provides connectors for the most popular LDAP systems: Oracle Internet Directory (OID), Oracle Directory Server EE (formerly Sun Java Directory/iPlanet), Novell eDirectory and Microsoft Active Directory (AD). &lt;br&gt;
&lt;br&gt;
With OIM 11g, a new feature called LDAP synchronization was introduced. OIM uses this feature to synchronize its users and roles base to a LDAP system. This synchronization is bidirectional and it uses scheduled jobs/reconciliation engine to pull changes from LDAP and event handlers to push data to LDAP.&lt;br&gt;
But if OIM already provides a connector for most of the industry LDAP servers, why provide a feature like LDAP Synch? Different customer’s business requirements, customer feedbacks and also some technical reasons led Oracle to develop this feature and make it available out-of-the-box in the product.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://fusionsecurity.blogspot.com/2012/01/oim-11g-ldap-synchronization.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-1062627729727662679?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/c-mV29NltYo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/1062627729727662679/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2012/01/oim-11g-ldap-synchronization.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/1062627729727662679?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/1062627729727662679?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/c-mV29NltYo/oim-11g-ldap-synchronization.html" title="OIM 11g &amp; LDAP Synchronization" /><author><name>Daniel Gralewski</name><uri>http://www.blogger.com/profile/05627459432973623605</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="19" height="32" src="http://4.bp.blogspot.com/-v-XVYXSbVM0/Ta4IaZ-OL_I/AAAAAAAAAAM/FVGeSMuCypg/s220/aniver2.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2012/01/oim-11g-ldap-synchronization.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkICSXo_fip7ImA9WhRVGU8.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-6785708099031171121</id><published>2012-01-18T15:16:00.000-08:00</published><updated>2012-01-18T15:16:08.446-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T15:16:08.446-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fusion Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="Fusion Apps" /><title>Fusion Security – Apps Edition</title><content type="html">When we first started this blog more than 2 years ago, we debated about whether to name it “Fusion Security” or more specifically “Fusion Middleware Security”. We all work in the Fusion Middleware team on Fusion Middleware but even back then we saw Fusion Applications coming down the pipe and after all Fusion Apps is a set of big business applications whose principal distinction (in my opinion) is that it is the first set of business applications to be built on a truly modern middleware platform.&lt;br /&gt;
&lt;br /&gt;
The much anticipated &lt;a href="http://www.oracle.com/us/products/applications/fusion/index.html"&gt;Fusion Applications&lt;/a&gt; was recently released. For those of you unfamiliar with Fusion Apps, it is composed of several families of applications (CRM, Financials, HR, Supply Chain, Procurement etc) that comprise the next generation version of Oracles Apps portfolio (PeopleSoft, E-Business Suite, Siebel etc.) and as I said it is built on top of most of the Fusion Middleware products that currently exist today.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Welcome Apps Community&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
I will start off by welcoming those in the Oracle Apps community to the Fusion Middleware community and specifically the FMW security community. The middleware products may seem complicated, even overwhelming at first, but they are good powerful products that you can build your business upon.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Why You Should Care&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
What does this mean for those of us in the Fusion Middleware Security community? Why should we care? &lt;br /&gt;
&lt;br /&gt;
For one Fusion Apps has been driving much of the direction of Fusion Middelware for some time and now is your opportunity to see what it is all about and how the Middleware you know and love is used. In this post I’ll provide an overview of this usage and follow up with much more detail in the coming months.&lt;br /&gt;
&lt;br /&gt;
Secondly, I think our community is about to get much larger. Every Fusion Apps customer will become a Fusion Middleware Security Customer. So, I’ll also take the opportunity now to say welcome to all the new Fusion Apps architects, developers, and administrators out there that may happen across this post.&lt;br /&gt;
&lt;br /&gt;
Thirdly, Fusion Applications is a very large and complex set of applications. Oracle has created an Enterprise Deployment Guide specifically discussing how the Identity Management products that Fusion Apps utilizes should be deployed. It is worth reading this just to get an idea for what Oracle considers as reference architecture for an IAM environment that supports large business applications.&amp;nbsp; &lt;a href="http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e21032/toc.htm"&gt;You can find the Enterprise Deployment Guide for Oracle Identity Management (Fusion Apps Edition) here.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I myself have been very involved in the initial rollout of Fusion Applications and will continue to be very much involved along with other members of this blog in helping to advise customers on the security technology involved in Fusion Apps deployments.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;What This Doesn’t Mean&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
With all that being said, while I do think the release of Fusion Applications is exciting and important to those of us in the Fusion Middelware Security community, I have heard some messaging around Fusion Applications and its impact on Fusion Middleware that I think oversells the importance of Fusion Apps and is ultimately incorrect.&lt;br /&gt;
&lt;br /&gt;
I’ve heard it said many times that customers should closely align their use of our Fusion Middleware products to how they are used in Fusion Applications. While I agree that customers should be mindful of how FMW is used in Fusion Apps, I simply don’t agree with that statement. &lt;br /&gt;
&lt;br /&gt;
Fusion Applications is a set of specific applications, namely business applications, which use our Fusion Middleware Security stack in a specific set of ways. They do not make use of every feature or even every product in our FMW Security stack. Our Fusion Middleware customers use our middleware products in a wide variety of ways, to create and support a wide variety of applications, with a wide array of business requirements, in a large variety of environments. Some of the differences between what our customers are trying to achieve with Fusion Middleware vs. what we achieved with Fusion Middlware in Fusion Apps means that customers can and should take different approaches from what was taken with Fusion Applications.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;What FMW Security Is In Fusion Apps&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Now that my rant is out of the way, I’ll proceed to talk about how Fusion Middleware Security is used in Fusion Applications on a product by product basis. Again, for a more detailed discussion at this time see the &lt;a href="http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e21032/toc.htm"&gt;Enterprise Deployment Guide for IDM (FA Edition).&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Oracle Internet Directory (OID) serves as the store for OPSS security policies and as the default store for Fusion Apps users.&lt;/li&gt;
&lt;li&gt;Oracle Virtual Directory (OVD) serves as a go-between layer for user stores when OID is not being used (and optionally when OID is being used. It is also always used in conjunction with OIM for a feature called LDAP sync which provides real time synchronization of users between OIM and an LDAP directory.&lt;/li&gt;
&lt;li&gt;Oracle Access Manager (OAM) provides authentication and singles sign-on (SSO) for Fusion Apps. It is worth noting that OAM runs in a special mode in Fusion Apps build outs and does not by default provide authorization, even course grained, for Fusion Apps. This means that some careful consideration will have to be done by customers wanting to use a single OAM deployment for Fusion Apps and other applications in their environment.&lt;/li&gt;
&lt;li&gt;Oracle Identity Manager (OIM) helps provision users to the FA environment and provides delegated management and self service user management services to the Fusion Apps environment.&lt;/li&gt;
&lt;li&gt;Oracle Platform Security Services (OPSS) provides the fine grained authorization for the application in Fusion Apps as well as an assortment of other functions such as LDAP connectivity and key management.&lt;/li&gt;
&lt;li&gt;Oracle Web Services Security Manager (OWSM) provides web services security (WS-SEC) for both FA internal web services communication and the external web services interfaces to FA.&lt;/li&gt;
&lt;li&gt;WebLogic Server serves as the core container for Fusion Apps and so WLS security is part of the picture. Specifically, identity asserters and authenticators (SSPI providers) are configured in FA. Other WLS security areas such as transport (SSL) security and node manager security also come into play.&lt;/li&gt;
&lt;li&gt;Oracle HTTP Server (OHS) serves as the web tier for Fusion Apps. There are actually two web tiers in a Fusion Apps deployment. The first web tier is the front end to the IDM environment and the 2nd is the front end to the Fusion Apps themselves. Both web tiers will have OAM webgates on them. Beyond that SSL is the main security consideration you will have to configure / manage.&lt;/li&gt;
&lt;li&gt;SOA Suite – SOA Suite is widely used throughout Fusion Apps including (as most of you know) its use as the workflow engine for OIM. There is a good deal of security in SOA Suite to manage including transport and message level security.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-6785708099031171121?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/xYkddrczeDg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/6785708099031171121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2012/01/fusion-security-apps-edition.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6785708099031171121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6785708099031171121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/xYkddrczeDg/fusion-security-apps-edition.html" title="Fusion Security – Apps Edition" /><author><name>Brian Eidelman</name><uri>http://www.blogger.com/profile/00527044305949442012</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2012/01/fusion-security-apps-edition.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AESHo_fCp7ImA9WhRVEU4.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-9159397714766912313</id><published>2012-01-09T11:06:00.000-08:00</published><updated>2012-01-09T11:01:49.444-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T11:01:49.444-08:00</app:edited><title>Weblogic WS-Trust Client and OWSM interoperability</title><content type="html">First, I’d like to take the opportunity to wish you all our readers a great 2012, with plenty of health, joy, care for each other and peace! We really appreciate your interest in our posts and hope to be truly contributing to your daily work. With that said… &lt;br /&gt;
&lt;br /&gt;
Did you guys know Weblogic implements a WS-Trust client?&amp;nbsp; Did you also know that WS-Trust client can interoperate with web services protected by OWSM policies requiring message protection (signing and encryption) ? Those were very helpful to me in satisfying some important requirements for a customer in a recent proof of concept exercise.&lt;br /&gt;
&lt;br /&gt;
This is a long post. It describes a bunch of things that are more or less available across several official books, but also adds some details that are not easily found, especially if you’re interested in troubleshooting.&lt;br /&gt;
&lt;br /&gt;
The customer adopts OSTS (Oracle Secure Token Service) and wanted an alternative to OWSM (Oracle Web Services Manager) client. OSTS is part of Oracle IAM Suite 11.1.1.5, delivered as an OAM (Oracle Access Manager) add-on. For an introduction to OSTS, check &lt;a href="http://fusionsecurity.blogspot.com/2011/11/oracle-secure-token-services-101.html" target="_blank"&gt;this post&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
OSTS leverages OWSM policies to protect its WS-Trust endpoints. OWSM 11.1.1.5 also delivers WS-Trust client policies. When your web services clients can leverage the OWSM WS-Trust client policies, great, it just works. In situations where they can’t, alternate solutions need to be thought. This particular customer had a considerable amount of clients running in Weblogic server 10.3.3, where WS-Trust support is not available in the OWSM runtime. We could have looked at web services frameworks like Apache’s AXIS2 or CXF, but Weblogic’s WS-Trust client was just there, waiting to rescue. As you can see if you follow this post, it saved us quite some coding.&lt;br /&gt;
&lt;br /&gt;
I must say that the approach describe here is by no means a recommended architecture for everyone. Every customer scenario is different and should be thought in light of current and future requirements. I must also say that OWSM is the strategic direction and, as such, should always be the preferred approach.&lt;br /&gt;
&lt;br /&gt;
This is basically what I’ve helped the customer to achieve:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-6pLM_IY1PjU/Tv4Lktp8cQI/AAAAAAAABKI/2GimsDthpIo/s1600-h/scenario7.png"&gt;&lt;img alt="scenario" border="0" height="262" src="http://lh6.ggpht.com/-9R5-82P-_7M/Tv4LlNovzbI/AAAAAAAABKQ/AZAYz5GDyIY/scenario_thumb3.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="scenario" width="417" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Here are the interaction details:&lt;br /&gt;
&lt;br /&gt;
1) The client makes an RST (Request Secure Token) using Weblogic’s WS-Trust client to the OSTS requesting for a SAML token to be sent to the ws provider. The client identifies itself to the OSTS with username token credentials in the WSS header, but requests a token on behalf of someone else. In this example, on behalf of the client application executing user. &lt;br /&gt;
&lt;br /&gt;
2) OSTS’ OWSM agent validates the WSS part of the request. It needs to decrypt the message and validate the digital signature added by Weblogic’s WS-Trust client. &lt;strong&gt;This is where most of interoperability problems arise&lt;/strong&gt;. The policy attached to OSTS endpoint is &lt;strong&gt;oracle/wss11_username_token_with_message_protection_service_policy&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
3) After doing some extra validation on the RST and the requestor credentials, the OSTS issues the SAML token (RSTR – Request Secure Token Response).&lt;br /&gt;
&lt;br /&gt;
4) The client calls the ws provider passing the issued SAML token along. SAML confirmation method in this case is Sender-Vouches, which means the ws client signs the SAML token. The policy attached to ws provider is &lt;strong&gt;oracle/wss11_saml_token_with_message_protection_service_policy&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
5) The ws provider sends the response.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;



Implementation Details&lt;/h3&gt;
&lt;h4&gt;



1) Web Service Proxy&lt;/h4&gt;
Web service JAX-WS proxy is generated for the &lt;strong&gt;web service provider&lt;/strong&gt; as usual. This is done by Weblogic’s clientgen tool via an ANT build script, as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;
&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&amp;lt;project name=&lt;span style="color: #006080;"&gt;"ws-client"&lt;/span&gt; &lt;span style="color: blue;"&gt;default&lt;/span&gt;=&lt;span style="color: #006080;"&gt;"build"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt; &amp;lt;property name=&lt;span style="color: #006080;"&gt;"wls.hostname"&lt;/span&gt; value=&lt;span style="color: #006080;"&gt;"localhost"&lt;/span&gt;/&amp;gt;&lt;/pre&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;property name=&lt;span style="color: #006080;"&gt;"wls.port"&lt;/span&gt; value=&lt;span style="color: #006080;"&gt;"9003"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;property name=&lt;span style="color: #006080;"&gt;"classes-dir"&lt;/span&gt; value=&lt;span style="color: #006080;"&gt;"classes"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;property name=&lt;span style="color: #006080;"&gt;"src-dir"&lt;/span&gt; value=&lt;span style="color: #006080;"&gt;"src"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;path id=&lt;span style="color: #006080;"&gt;"client.class.path"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;    &amp;lt;pathelement path=&lt;span style="color: #006080;"&gt;"classes"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;    &amp;lt;fileset dir=&lt;span style="color: #006080;"&gt;"${mw.home}/wlserver_10.3/server/lib"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;        &amp;lt;include name=&lt;span style="color: #006080;"&gt;"weblogic.jar"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;        &amp;lt;include name=&lt;span style="color: #006080;"&gt;"wseeclient.jar"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;    &amp;lt;/fileset&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;    &amp;lt;pathelement path=&lt;span style="color: #006080;"&gt;"${java.class.path}"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;lt;/path&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;lt;taskdef name=&lt;span style="color: #006080;"&gt;"clientgen"&lt;/span&gt; classpathref=&lt;span style="color: #006080;"&gt;"client.class.path"&lt;/span&gt; classname=&lt;span style="color: #006080;"&gt;"weblogic.wsee.tools.anttasks.ClientGenTask"&lt;/span&gt; /&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;lt;target name=&lt;span style="color: #006080;"&gt;"build"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &amp;lt;clientgen wsdl=&lt;span style="color: #006080;"&gt;"http://${wls.hostname}:${wls.port}/webservices/GreetingPort?WSDL"&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;              destDir=&lt;span style="color: #006080;"&gt;"${src-dir}"&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;              packageName=&lt;span style="color: #006080;"&gt;"ws.client"&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;              type=&lt;span style="color: #006080;"&gt;"JAXWS"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &amp;lt;javac srcdir=&lt;span style="color: #006080;"&gt;"${src-dir}"&lt;/span&gt; destdir=&lt;span style="color: #006080;"&gt;"${classes-dir}"&lt;/span&gt; includes=&lt;span style="color: #006080;"&gt;"**/*.java"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/target&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;lt;/project&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Notice that you need weblogic.jar and wseeclient.jar in the CLASSPATH to run clientgen. These files are located under $MW_HOME/wlserver_10.3/server/lib folder.&lt;br /&gt;
&lt;br /&gt;
You don’t generate proxies for the OSTS endpoint. This is implicitly taken care by WLS WS-Trust client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;2) Client Code&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
My client is a simple servlet, that actually hides some serious heavy-lifting performed by Weblogic’s WS-Trust client. The code is commented so it explains itself. Look at how simple it is.&lt;br /&gt;
&lt;br /&gt;
You get an instance of the proxy port as you would normally do and add a couple of properties to the BindingProvider object in order to make the WS-Trust client invoke OSTS (lines 35-45).&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span style="color: blue;"&gt;package&lt;/span&gt; trunk.interop.ws;&lt;/span&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; overflow-x: visible; overflow-y: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; java.io.IOException;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; java.io.PrintWriter;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; javax.servlet.*;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; javax.servlet.http.*;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; javax.xml.ws.BindingProvider;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt;   8:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; java.util.Map;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt;   9:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; weblogic.wsee.message.WlMessageContext;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt;  10:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; weblogic.wsee.jaxrpc.WLStub;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt;  11:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; weblogic.wsee.security.WSEESecurityConstants;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt;  12:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; javax.xml.soap.SOAPConstants;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt;  13:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; ws.client.Greeting;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt;  14:&lt;/span&gt; &lt;span style="color: blue;"&gt;import&lt;/span&gt; ws.client.GreetingService;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt;  15:&lt;/span&gt;  &lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt;  16:&lt;/span&gt; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; TrustClientServlet &lt;span style="color: blue;"&gt;extends&lt;/span&gt; HttpServlet {&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt;  17:&lt;/span&gt;  &lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt;  18:&lt;/span&gt;  &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;final&lt;/span&gt; String CONTENT_TYPE = &lt;span style="color: #006080;"&gt;"text/html; charset=windows-1252"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt;  19:&lt;/span&gt;  &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;final&lt;/span&gt; String TRUST_VERSION = &lt;span style="color: #006080;"&gt;"http://docs.oasis-open.org/ws-sx/ws-trust/200512"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt;  20:&lt;/span&gt;  &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;final&lt;/span&gt; String STS_URL = &lt;span style="color: #006080;"&gt;"http://dogwood.us.oracle.com:14100/sts/wss11user"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt;  21:&lt;/span&gt;  &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;final&lt;/span&gt; String STS_POLICY = &lt;span style="color: #006080;"&gt;"StsWss11UntPolicy.xml"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt;  22:&lt;/span&gt;  &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; init(ServletConfig config) &lt;span style="color: blue;"&gt;throws&lt;/span&gt; ServletException {&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt;  23:&lt;/span&gt;    &lt;span style="color: blue;"&gt;super&lt;/span&gt;.init(config);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum24" style="color: #606060;"&gt;  24:&lt;/span&gt;  } &lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum25" style="color: #606060;"&gt;  25:&lt;/span&gt;  &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; doGet(HttpServletRequest request, HttpServletResponse response) &lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum26" style="color: #606060;"&gt;  26:&lt;/span&gt;    &lt;span style="color: blue;"&gt;throws&lt;/span&gt; ServletException, IOException {&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum27" style="color: #606060;"&gt;  27:&lt;/span&gt;  &lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum28" style="color: #606060;"&gt;  28:&lt;/span&gt;   response.setContentType(CONTENT_TYPE);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum29" style="color: #606060;"&gt;  29:&lt;/span&gt;   PrintWriter out = response.getWriter();&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum30" style="color: #606060;"&gt;  30:&lt;/span&gt;   out.println(&lt;span style="color: #006080;"&gt;"&amp;lt;html&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum31" style="color: #606060;"&gt;  31:&lt;/span&gt;   out.println(&lt;span style="color: #006080;"&gt;"&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;TrustClientServlet&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum32" style="color: #606060;"&gt;  32:&lt;/span&gt;   out.println(&lt;span style="color: #006080;"&gt;"&amp;lt;body&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum33" style="color: #606060;"&gt;  33:&lt;/span&gt;   GreetingService service = &lt;span style="color: blue;"&gt;new&lt;/span&gt; GreetingService();&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum34" style="color: #606060;"&gt;  34:&lt;/span&gt;   Greeting port = service.getGreetingPort();&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum35" style="color: #606060;"&gt;  35:&lt;/span&gt;   Map&amp;lt;String, Object&amp;gt; requestContext = ((BindingProvider) port).getRequestContext();&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum36" style="color: #606060;"&gt;  36:&lt;/span&gt;   &lt;span style="color: green;"&gt;// Oracle STS endpoint URL&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum37" style="color: #606060;"&gt;  37:&lt;/span&gt;   requestContext.put(WLStub.WST_STS_ENDPOINT_ON_SAML, STS_URL);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum38" style="color: #606060;"&gt;  38:&lt;/span&gt;   &lt;span style="color: green;"&gt;// WS-Policy to talk to Oracle STS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum39" style="color: #606060;"&gt;  39:&lt;/span&gt;   requestContext.put(WlMessageContext.WST_BOOT_STRAP_POLICY, &lt;span style="color: blue;"&gt;this&lt;/span&gt;.getClass().getResourceAsStream(STS_POLICY));&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum40" style="color: #606060;"&gt;  40:&lt;/span&gt;   &lt;span style="color: green;"&gt;// WS-Trust version&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum41" style="color: #606060;"&gt;  41:&lt;/span&gt;   requestContext.put(WSEESecurityConstants.TRUST_VERSION, TRUST_VERSION);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum42" style="color: #606060;"&gt;  42:&lt;/span&gt;   &lt;span style="color: green;"&gt;// SOAP version&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum43" style="color: #606060;"&gt;  43:&lt;/span&gt;   requestContext.put(WSEESecurityConstants.TRUST_SOAP_VERSION, SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum44" style="color: #606060;"&gt;  44:&lt;/span&gt;   &lt;span style="color: green;"&gt;// username for whom a token will be requested&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum45" style="color: #606060;"&gt;  45:&lt;/span&gt;   requestContext.put(WSEESecurityConstants.ON_BEHALF_OF_USER, request.getRemoteUser());&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum46" style="color: #606060;"&gt;  46:&lt;/span&gt;   out.println(port.sayHello(request.getRemoteUser()));&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum47" style="color: #606060;"&gt;  47:&lt;/span&gt;   out.println(&lt;span style="color: #006080;"&gt;"&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum48" style="color: #606060;"&gt;  48:&lt;/span&gt;   out.close();&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&lt;span id="lnum49" style="color: #606060;"&gt;  49:&lt;/span&gt;  }&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span id="lnum50" style="color: #606060;"&gt;  50:&lt;/span&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;h4&gt;



3) OWSM Policy in the OSTS endpoint&lt;/h4&gt;
Line 20 defined the OSTS endpoint. If you append ?WSDL to it and paste it in a browser URL, you can see the WS-Policy generated by the OWSM policy (&lt;strong&gt;wss11_username_token_with_message_protection_service_policy&lt;/strong&gt;) that protects it. It can give you very good insights in case you run into interoperability issues.&lt;br /&gt;
&lt;br /&gt;
In my experience, the interoperability problems are mostly due to mismatch between security bindings, encryption method mechanisms and encryption algorithms. &lt;br /&gt;
&lt;br /&gt;
Here are some typical error messages. I now know how to make them happen anytime. :-)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;a) Due to security binding mismatch:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;Caused by: 
oracle.wsm.security.policy.scenario.policycompliance.PolicyComplianceException: 
WSM-00059 : Signature method algorithms are mismatched. Expected : http:&lt;span style="color: green;"&gt;//www.w3.org/2000/09/xmldsig#hmac-sha1, &lt;/span&gt;
Actual : &lt;a href="http://www.w3.org/2000/09/xmldsig#rsa-sha1"&gt;http://www.w3.org/2000/09/xmldsig#rsa-sha1&lt;/a&gt;.&lt;/pre&gt;
&lt;br /&gt;
In this case, make sure both policies use the same security binding. For instance, OWSM’s wss11_username_token_with_message_protection_service_policy is Symmetric. The security binding is NOT configurable in the OWSM policy.&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #f4f4f4; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;&amp;lt;sp:SymmetricBinding xmlns:sp=&lt;span style="color: #006080;"&gt;"http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;  &amp;lt;wsp:Policy&amp;gt;
  ...
&amp;lt;/sp:SymmetricBinding&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;b) Due to encryption reference mechanism mismatch:&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #f4f4f4; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;[2011-09-21T16:04:27.900-07:00] [ms1] [ERROR] [WSM-00034] &lt;/span&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;[oracle.wsm.resources.security] [tid: [ACTIVE].ExecuteThread: &lt;span style="color: #006080;"&gt;'0'&lt;/span&gt; &lt;span style="color: blue;"&gt;for&lt;/span&gt; queue: 
&lt;span style="color: #006080;"&gt;'weblogic.kernel.Default (self-tuning)'&lt;/span&gt;] [userId: &amp;lt;anonymous&amp;gt;] [ecid: 
5f5492695bd28c21:-83db949:1328e2f9215:-8000-000000000000002c,0] 
[WSM_POLICY_NAME: 
oracle/wss11_saml_token_with_message_protection_service_policy] [APP: 
InteropWebServices] Error in Encryption reference mechanism compliance : 
Expected : thumbprint , Actual : ski. Ensure that a compatible policy is 
attached at the client side.&lt;/pre&gt;
&lt;br /&gt;
This is configurable in the OWSM policy, by changing the orasp:enc-key-ref-mech property value.&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #f4f4f4; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;&amp;lt;orasp:wss11-username-with-certificates orawsp:name=&lt;span style="color: #006080;"&gt;"WS-Security 1.1 username &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: #006080;"&gt;with certificates"&lt;/span&gt; orawsp:Silent=&lt;span style="color: #006080;"&gt;"false"&lt;/span&gt; orawsp:Enforced=&lt;span style="color: #006080;"&gt;"true"&lt;/span&gt; 
orawsp:category=&lt;span style="color: #006080;"&gt;"security/authentication, security/msg-protection"&lt;/span&gt;&amp;gt;
 
 &amp;lt;orasp:username-token orasp:password-type=&lt;span style="color: #006080;"&gt;"plaintext"&lt;/span&gt; 
orasp:add-nonce=&lt;span style="color: #006080;"&gt;"false"&lt;/span&gt; orasp:add-created=&lt;span style="color: #006080;"&gt;"false"&lt;/span&gt;/&amp;gt;
  
&amp;lt;orasp:x509-token orasp:enc-key-ref-mech=&lt;span style="color: #006080;"&gt;"ski"&lt;/span&gt;/&amp;gt;
  
&amp;lt;orasp:msg-security orasp:confirm-signature=&lt;span style="color: #006080;"&gt;"true"&lt;/span&gt; 
orasp:sign-then-encrypt=&lt;span style="color: #006080;"&gt;"true"&lt;/span&gt; orasp:include-timestamp=&lt;span style="color: #006080;"&gt;"true"&lt;/span&gt; 
orasp:encrypt-signature=&lt;span style="color: #006080;"&gt;"false"&lt;/span&gt; orasp:algorithm-suite=&lt;span style="color: #006080;"&gt;"Basic256"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;c) Due to encryption algorithms mismatch:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #f4f4f4; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;Caused by: &lt;/span&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;oracle.wsm.security.policy.scenario.policycompliance.PolicyComplianceException: 
WSM-00030 : The encryption method key wrap algorithms &lt;span style="color: blue;"&gt;do&lt;/span&gt; not match : Expected 
: http:&lt;span style="color: green;"&gt;//www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p, &lt;/span&gt;
Actual : http://www.w3.org/2001/04/xmlenc#rsa-1_5.&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
This is also configurable in the OWSM policy. In the policy snippet above, you can play with the property value of orasp:algorithm-suite and try the Algorithm Suite values as specified in &lt;a href="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html#_Toc161826547" target="_blank"&gt;the WS-SecurityPolicy specification&lt;/a&gt;. Make sure it matches the one in the client-side policy.&lt;/div&gt;
&lt;br /&gt;
&lt;strong&gt;Note:&lt;/strong&gt; In OSTS, the OWSM policies are available at $MW_HOME/Oracle_IAM1/oam/server/policy/sts-policies.jar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;4) Client-side WS-Policy for OSTS endpoint&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Weblogic web service client APIs are smart enough to infer the necessary client configuration from the advertised WS-Policy in the web service WSDL. That said, we’re NOT supposed to attach any client-side policies to talk to our web service provider endpoint. However, this does NOT apply when talking to an STS using the WS-Trust client.&lt;br /&gt;
&lt;br /&gt;
Notice that my client code adds StsWss11UntPolicy.xml to the BindingProvider on line 39. The xml file actually defines the WS-Policy that interoperates with OSTS endpoint protected by OWSM (once I worked through the problems showed above). Here it is:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;&amp;lt;?xml version=&lt;span style="color: #006080;"&gt;"1.0"&lt;/span&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;lt;wsp:Policy xmlns:wsp=&lt;span style="color: #006080;"&gt;"http://schemas.xmlsoap.org/ws/2004/09/policy"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     xmlns:sp=&lt;span style="color: #006080;"&gt;"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:SymmetricBinding&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:ProtectionToken&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:X509Token &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     sp:IncludeToken=&lt;span style="color: #006080;"&gt;"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:RequireKeyIdentifierReference/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:WssX509V3Token11/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/sp:X509Token&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/sp:ProtectionToken&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:AlgorithmSuite&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:Basic256Rsa15/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/sp:AlgorithmSuite&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:Layout&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:Lax/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/sp:Layout&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:IncludeTimestamp/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:OnlySignEntireHeadersAndBody/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/sp:SymmetricBinding&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:SignedEncryptedSupportingTokens&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:UsernameToken&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; sp:IncludeToken=&lt;span style="color: #006080;"&gt;"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:WssUsernameToken10/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/sp:UsernameToken&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/sp:SignedEncryptedSupportingTokens&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:Wss11&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:MustSupportRefKeyIdentifier/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:MustSupportRefIssuerSerial/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:MustSupportRefThumbprint/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:MustSupportRefEncryptedKey/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:RequireSignatureConfirmation/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/sp:Wss11&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:SignedParts&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:Header Namespace=&lt;span style="color: #006080;"&gt;"http://schemas.xmlsoap.org/ws/2004/08/addressing"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:Header Namespace=&lt;span style="color: #006080;"&gt;"http://www.w3.org/2005/08/addressing"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:Body/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;/sp:SignedParts&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;sp:EncryptedParts&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &amp;lt;sp:Body/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;/sp:EncryptedParts&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;lt;/wsp:Policy&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;5) Required Configuration in Weblogic server&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I’ve been always curious on how to define credential mappings in Weblogic to be used in the context of web services. Time has come. It turns out the system properties in the Troubleshooting section (next) came up very handy to let me know the mappings to be defined.&lt;br /&gt;
&lt;br /&gt;
A credential mapping essentially maps a principal to a credential to be used when talking to external systems. This is very prevalent when the external systems are based on a JCA adapter. But it&amp;nbsp; applies to web services as well. For example, given authenticated user “andre” (known as the initiator) wants to call web service &lt;a href="http://server:7003/webservices/GreetingPort"&gt;http://server:7003/webservices/GreetingPort&lt;/a&gt; from within a web service client running in Weblogic server, a credential mapping would tell which credentials the user would have to communicate with the web service.&lt;br /&gt;
&lt;br /&gt;
A web service client running in Weblogic is “aware” of the security services provided by the server. In this case, given the WSS requirements stated by our 2 web services (OSTS and ws provider), two types of credential mappings are required in Weblogic:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: bold;"&gt;A) 1 Default Credential Mapping:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Maps an initiator to a username/password pair. Required to add a username token to the outgoing SOAP request when calling the OSTS endpoint. A Default Credential Mapper is OOTB available in Weblogic. We DON’T need a mapping to talk to web service provider endpoint because that one requires a SAML token, which is going to be retrieved from OSTS.&lt;br /&gt;
&lt;br /&gt;
Here’s the credential mapping (Security Realms –&amp;gt; myrealm –&amp;gt; Credential Mappings –&amp;gt; Default &amp;gt; New):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-5tN1IyGiqfY/Tv4Ll2yy3cI/AAAAAAAABKY/oLkwg7Pe7vk/s1600-h/DefaultCredentialMapping3.png"&gt;&lt;img alt="DefaultCredentialMapping" border="0" height="336" src="http://lh5.ggpht.com/-CuSm6Kqgu6I/Tv4LmXT9-uI/AAAAAAAABKg/BiQXLwmLQSA/DefaultCredentialMapping_thumb1.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="DefaultCredentialMapping" width="402" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protocol + Remote Host + Remote Port + Path makes up the web service URL being called. You don’t need to specify any value for Method. Notice that Path value must start with a /.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-a_CUlBMk_T8/Tv4Lm35CWhI/AAAAAAAABKo/63cmDbB-GNs/s1600-h/DefaultCredentialMapping_23.png"&gt;&lt;img alt="DefaultCredentialMapping_2" border="0" height="268" src="http://lh4.ggpht.com/-yN3mK8Wnwww/Tv4LnQKEN1I/AAAAAAAABKw/oHh4fJj12B8/DefaultCredentialMapping_2_thumb1.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="DefaultCredentialMapping_2" width="415" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Local User is the initiator, on whose behalf the username under Remote User field is going to be retrieved. Obviously, the Remote User needs to be properly authorized in the remote system (OSTS).&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: bold;"&gt;B) 4 PKI Credential Mappings:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
A PKI Credential Mapping maps an initiator to either a private key or a certificate. Required to perform digital signature and message encryption when calling the OSTS endpoint and web service provider endpoint. Remember, both endpoints require message protection. A PKI Credential Mapper is NOT OOTB available in Weblogic. To add one, got to Security Realms –&amp;gt; myrealm –&amp;gt; Providers –&amp;gt; Credential Mapping –&amp;gt; New (pick PKICredentialMapper). Make sure to fill in the form in the Provider Specific tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-EEf89AphlfA/Tv4LoAw2StI/AAAAAAAABK4/Rsi7Blq2NhA/s1600-h/PKICredentialMapper3.png"&gt;&lt;img alt="PKICredentialMapper" border="0" height="278" src="http://lh5.ggpht.com/-JOheoQ0oyew/Tv4Lo-UP4lI/AAAAAAAABLA/F20Gx_a7QPs/PKICredentialMapper_thumb1.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="PKICredentialMapper" width="402" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The keystore file Name is relative to the location where you start the Admin server. In my case, I’ve simply put clientkeystore.jks in $MW_HOME/user_projects/domains/&amp;lt;my-domain-name&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
Once you add it, restart the Admin Server so you can add the mappings (Security Realm –&amp;gt; myrealm –&amp;gt; Credential Mappings –&amp;gt; PKI –&amp;gt; New). Here are my 4 mappings:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-zCjCdHvNODs/Tv4LqWZ3IQI/AAAAAAAABLI/ZPNRPhjecZA/s1600-h/PKICredentialMapping4.png"&gt;&lt;img alt="PKICredentialMapping" border="0" height="332" src="http://lh5.ggpht.com/-QMhodDVS5-0/Tv4LrM5y_yI/AAAAAAAABLQ/8tQE02bdqYc/PKICredentialMapping_thumb2.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="PKICredentialMapping" width="415" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notice there are 2 mappings for each endpoint. One to retrieve the private key used for signing and one to retrieve the certificate used for encryption. When defining these mappings, you have the opportunity to inform the alias names in the keystore (clientkeystore.jks) holding the private key and the certificate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;6) Troubleshooting&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
When running into trouble, these 4 system properties will come to your rescue in the client side. Add them to EXTRA_JAVA_PROPERTIES in setDomainEnv.sh:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;weblogic.xml.crypto.dsig.verbose=true &lt;/li&gt;
&lt;li&gt;weblogic.xml.crypto.encrypt.verbose=true &lt;/li&gt;
&lt;li&gt;weblogic.xml.crypto.keyinfo.verbose=true &lt;/li&gt;
&lt;li&gt;weblogic.xml.crypto.wss.verbose=true &lt;/li&gt;
&lt;/ul&gt;
You should be able to detect, for example, why you’re not able to get a X509 token.&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;####&amp;lt;Oct 10, 2011 2:55:58 PM PDT&amp;gt; &amp;lt;Debug&amp;gt; &amp;lt;SecurityCredMap&amp;gt; 
&amp;lt;dogwood.us.oracle.com&amp;gt; &amp;lt;ms1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: &lt;span style="color: #006080;"&gt;'3'&lt;/span&gt; &lt;span style="color: blue;"&gt;for&lt;/span&gt; 
queue: &lt;span style="color: #006080;"&gt;'weblogic.kernel.Default (self-tuning)'&lt;/span&gt;&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; 
&amp;lt;&amp;gt; &amp;lt;aaa1e3e54fdb4a71:63733030:132ef6e25bc:-8000-000000000000008f&amp;gt; 
&amp;lt;1318283758414&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;getCredentials: requestor=Subject: 
1
 Principal = 
weblogic.security.principal.WLSKernelIdentity(&lt;span style="color: #006080;"&gt;"&amp;lt;WLS Kernel&amp;gt;"&lt;/span&gt;)
, 
resource=type=&amp;lt;remote&amp;gt;, protocol=http, remoteHost=localhost, 
remotePort=9003, path=/webservices/GreetingPort, initiator=Subject: 
1
 Principal = 
weblogic.security.principal.WLSUserImpl(&lt;span style="color: #006080;"&gt;"andre"&lt;/span&gt;)
, 
credType=weblogic.pki.TrustedCertificate&amp;gt;
####&amp;lt;Oct 10, 2011 2:55:58 PM PDT&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;&amp;gt; 
&amp;lt;dogwood.us.oracle.com&amp;gt; &amp;lt;ms1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: &lt;span style="color: #006080;"&gt;'3'&lt;/span&gt; &lt;span style="color: blue;"&gt;for&lt;/span&gt; 
queue: &lt;span style="color: #006080;"&gt;'weblogic.kernel.Default (self-tuning)'&lt;/span&gt;&amp;gt; 
&amp;lt;andre&amp;gt; &amp;lt;&amp;gt; 
&amp;lt;aaa1e3e54fdb4a71:63733030:132ef6e25bc:-8000-000000000000008f&amp;gt; 
&amp;lt;1318283758417&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;Did not get token &lt;span style="color: blue;"&gt;for&lt;/span&gt; token type http:&lt;span style="color: green;"&gt;//docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 &lt;/span&gt;
and purpose encrypt from token 
handlerweblogic.xml.crypto.wss11.internal.bst.BSTHandler@9527ee&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
Thanks to those properties, the log message above tells it was not possible to get a X509 token for user andre to encrypt the message. Then adding a PKI Credential Mapping with the server certificate solves the problem.&lt;/div&gt;
&lt;br /&gt;
And to troubleshoot OWSM, configure TRACE:32 logging level for oracle.wsm in $MW_HOME/user_projects/domains/&amp;lt;domain-name&amp;gt;/config/fmwconfig/servers/&amp;lt;server-name&amp;gt;/logging.xml:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;&amp;lt;logger name=&lt;span style="color: #006080;"&gt;'oracle.wsm'&lt;/span&gt; level=&lt;span style="color: #006080;"&gt;'TRACE:32'&lt;/span&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: #f4f4f4; font-family: 'Courier New', courier, monospace; font-size: 11px; line-height: 16px; white-space: pre;"&gt;useParentHandlers=&lt;span style="color: #006080;"&gt;'false'&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;handler &lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;name=&lt;span style="color: #006080;"&gt;'owsm-message-handler'&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;lt;/logger&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Log messages are sent, by default, to $MW_HOME/user_projects/domains/&amp;lt;domain-name&amp;gt;/servers/&amp;lt;server-name&amp;gt;/logs/owsm/msglogging/diagnostic.log.&lt;br /&gt;
&lt;br /&gt;
Happy 2012!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-9159397714766912313?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/IixsJYqley0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/9159397714766912313/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/12/weblogic-ws-trust-client-and-owsm.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/9159397714766912313?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/9159397714766912313?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/IixsJYqley0/weblogic-ws-trust-client-and-owsm.html" title="Weblogic WS-Trust Client and OWSM interoperability" /><author><name>Andre Correa</name><uri>http://www.blogger.com/profile/02002324440974871079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_fD4zU7n9hTU/S7FK5igweRI/AAAAAAAAA44/ypx6aQUP4c8/S220/andre.jpeg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-9R5-82P-_7M/Tv4LlNovzbI/AAAAAAAABKQ/AZAYz5GDyIY/s72-c/scenario_thumb3.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/12/weblogic-ws-trust-client-and-owsm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QFR3k9fSp7ImA9WhRXFE0.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-8015366562472473768</id><published>2011-12-20T11:00:00.000-08:00</published><updated>2011-12-20T11:28:36.765-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-20T11:28:36.765-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ucm" /><category scheme="http://www.blogger.com/atom/ns#" term="oam" /><category scheme="http://www.blogger.com/atom/ns#" term="11g" /><category scheme="http://www.blogger.com/atom/ns#" term="OAM Integration" /><category scheme="http://www.blogger.com/atom/ns#" term="oam 11g academy" /><title>OAM 11g - UCM Integration</title><content type="html">&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;I have been involved with many customer's who are integrating OAM 11g with Universal Content Manager 11g (UCM) and I know that trying to follow the OAM documentation can be daunting.  So I put together my own integration document/Blog.   Not to re-invent the wheel, this post utilizes what we already have in terms of documentation.   Think of this as a checklist and the steps that I implemented to get my own internal environment working.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; Normal   0                     false   false   false     EN-US   X-NONE   X-NONE &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;!    /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;}  --&gt; &lt;!--[endif]--&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Prerequisites&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Install and configure UCM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Install a weblogic plug-in on OHS that fixes a bug for UCM.  http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;span style="font-weight: bold;"&gt;High Level Steps/Checklist&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Configure an OHS server to proxy all request to UCM (/cs, /adfAuthentication and /_ocsh).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Register a webgate with the URL’s you want to protect.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Configure an OAM Identity Asserter and LDAP/OVD provider in Weblogic.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Validate users can access UCM with WLS Security.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Install a webgate on OHS server and validate.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;lj-cut text="Read more..."&gt;&lt;/lj-cut&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;span style="font-weight: bold;"&gt;Detail Steps&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Follow the documentation to configure OAM Access Manager 11g with Oracle UCM, Section 5.2.3.1: http://download.oracle.com/docs/cd/E21764_01/doc.1111/e10792/c03_security.htm#CDDHGCCC&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;span style="font-style: italic;"&gt;Note:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;The documentation is not clear whether to install the Webgate on the OHS server first.  Recommend to install the webgate at the end.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;br /&gt;5.2.3.1 - Configuring Oracle Access Manager 11g with Oracle UCM&lt;br /&gt;1.&lt;/span&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;color:black;"   &gt;a.     In our use case, we only need to protect the UCM URI’s below.&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;# UCM Content Server&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;&amp;lt;Location /cs&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;SetHandler weblogic-handler&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;WebLogicHost &amp;lt;hostname&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;WebLogicPort &amp;lt;portnumber&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;# UCM Content Server authentication&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;&amp;lt;Location /adfAuthentication&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;SetHandler weblogic-handler&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;WebLogicHost&amp;lt;hostname&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;WebLogicPort &amp;lt;portnumber&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;color:black;"   &gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; Normal   0                     false   false   false     EN-US   X-NONE   X-NONE &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} --&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;#UCM online help&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;&amp;lt;Location /_ocsh&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;SetHandler weblogic-handler&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;WebLogicHost &amp;lt;hostname&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;WebLogicPort &amp;lt;portnumber&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;&amp;lt;/Location&amp;gt;         &lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;color:black;"   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style="padding-left: 90px;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; Normal   0                     false   false   false     EN-US   X-NONE   X-NONE &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} --&gt; &lt;!--[endif]--&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;b.    Use the remote registration tool oamreg as follows in section 15.2.2.2:&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt; http://download.oracle.com/docs/cd/E21764_01/core.1111/e100/osso_b_oam11g.htm#JISEC9104&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;br /&gt;15.2.2.2 - Provision with 11g Webgate&lt;br /&gt;1.    Acquire the tool&lt;br /&gt;a.    The rreg tool can be found and executed on the same box where OAM is installed.  No need to un-tar.&lt;br /&gt;2.    Created a new UCM-Request.xml:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; Normal   0                     false   false   false     EN-US   X-NONE   X-NONE &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} --&gt; &lt;!--[endif]--&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;&amp;lt;OAM11GRegRequest&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;    &amp;lt;serverAddress&amp;gt;&lt;a href="http://ateam-hq66.us.oracle.com:7003/serverAddress"&gt;http://ateam-hq66.us.oracle.com:7003&amp;lt;/serverAddress&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;    &amp;lt;hostIdentifier&amp;gt;UCM-INT&amp;lt;/hostIdentifier&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;    &amp;lt;agentName&amp;gt;UCM-INT&amp;lt;/agentName&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;    &amp;lt;protectedResourcesList&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;                              &amp;lt;resource&amp;gt;/adfAuthentication&amp;lt;/resource&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;    &amp;lt;/protectedResourcesList&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;    &amp;lt;publicResourcesList&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;                              &amp;lt;resource&amp;gt;/cs&amp;lt;/resource&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;                              &amp;lt;resource&amp;gt;/_ocsh&amp;lt;/resource&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:small;"  &gt;    &amp;lt;/publicResourcesList&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 180px;"&gt;&lt;span style="line-height: 115%;font-family:arial,helvetica,sans-serif;font-size:small;"  &gt; &amp;lt;/OAM11GRegRequest&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 90px;"&gt; &lt;/p&gt;&lt;p style="padding-left: 90px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;3.    On the command line, execute the following:&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 120px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;./bin/oamreg.sh inband input/UCM-Request.xml&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 120px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;When asked to enter the admin and password, make sure the user is part of the system store you configured for OAM (e.g testuser1/welcome1)&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;2.    Continuing Section 5.2.3.1&lt;br /&gt;&lt;em&gt;Notes:&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;You can configure the OAM Asserter and LDAP/OVD Authenticator before installing a webgate.  Once the LDAP/OVD authenticator is configured, recommend to test UCM and make sure that you can bind to a user that is created within the provider you configured.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;The order of the provider’s should be as follows:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;img src="http://lh4.ggpht.com/-cdMAKbDsme8/TvDUEjJh3sI/AAAAAAAABkc/pW5Pv9jcncE/%25255BUNSET%25255D.png" alt="" width="512" height="101" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;OAM Identity Asserter&lt;br /&gt;The following ‘Common’ parameters should be set as:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;img src="http://lh4.ggpht.com/-3drjjJItSgg/TvDVu790XCI/AAAAAAAABkk/qROTGBbkkyE/%25255BUNSET%25255D.png" alt="" width="499" height="512" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Leave the default values for the ‘Provider Specific’ tab.&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;OVD Provider&lt;br /&gt;‘Common’ tab:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;img src="http://lh3.ggpht.com/-QPIvrp-gLK4/TvDV24Zf8_I/AAAAAAAABks/JPHCMmWFa4s/%25255BUNSET%25255D.png" alt="" width="425" height="352" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;‘Provider Specific’ tab:&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Based on the backend LDAP repository, make sure that you specify the correct object class and user name attribute within the LDAP filters.  In our case, we used ‘inetorgperson’ and ‘uid’ for a user object and ‘groupofuniquenames’ and ‘uniqumembers’ for groups.&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;img src="http://lh5.ggpht.com/-p1LPW3TRnxE/TvDV_xbtH1I/AAAAAAAABk0/QwzPo6qXqcI/%25255BUNSET%25255D.png" alt="" width="458" height="512" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt; &lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;img src="http://lh6.ggpht.com/-5gmkYwLhXTA/TvDWLvl7_xI/AAAAAAAABk8/SjHS6Xtzs1o/%25255BUNSET%25255D.png" alt="" width="484" height="512" /&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt; &lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;img src="http://lh5.ggpht.com/-1G5jeagBUCM/TvDWTDMgPAI/AAAAAAAABlE/vW0DjPcvmR4/%25255BUNSET%25255D.png" alt="" width="512" height="463" /&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;3.    After Installing and configuring OAM 11g……&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;a.    Recommend installing the webgate now.  No good links in the documentation to install webgate 11g.  Use the following:  http://download.oracle.com/docs/cd/E21764_01/install.1111/e12002/webgate.htm#CACCBCFF&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Notes:&lt;br /&gt;Section 20.2.4&lt;br /&gt;You will need the gcc libraries. Can get them here:&lt;br /&gt;http://www.oracle.com/technetwork/middleware/ias/downloads/101401-099957.html&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Look for ‘GCC Libraries for Oracle Identity Federation’&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Use the following cpio file to extract the gcc libraries:&lt;br /&gt;cpio -idvm &amp;lt;cpio-file&amp;gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:relyonvml/&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:donotshowrevisions/&gt;   &lt;w:donotprintrevisions/&gt;   &lt;w:donotshowcomments/&gt;   &lt;w:donotshowinsertionsanddeletions/&gt;   &lt;w:donotshowpropertychanges/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span class="bodycopy"&gt;&lt;span style="line-height: 115%;font-family:&amp;quot;;font-size:11pt;"  &gt;&lt;cpio_file&gt;&lt;/cpio_file&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Section 20.4&lt;br /&gt;Step 2 - Ran the command:&lt;br /&gt;./deployWebgateInstance.sh –w /u0/Oracle/Middleware11.1.1.5/Oracle_WT1/instances/instance1/config/OHS/ohs1 -oh /u0/Oracle/Middleware11.1.1.5/Oracle_OAMWebgate1&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Step 3 –&lt;br /&gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/u01/Oracle/Middleware11.1.1.5/Oracle_WT1/lib&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt; Step 5 – Ran the command:&lt;br /&gt;./EditHttpConf –w /u01/Oracle/Middleware11.1.1.5/Oracle_WT1/instances/instance1/config/OHS/.ohs1&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;b.    Next you will need to copy the artifacts that were generated in step 3 from section 15.2.2.2.  Copy the ‘ObAccessClient.xml’ and ‘cwallet.sso’ located in the ‘output/UCM-INT’ directory under ‘rreg’ to the /config directory.&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Webgate installation completed.  Make sure that the oam managed server is running and restart the OHS server.&lt;/span&gt;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Trouble shooting tips:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Cannot login via OAM – A few things to verify:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Make sure that the LDAP Authentication Module in the OAM console is pointing to the correct data store.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Make sure that the OVD provider in WLS matches the same OAM data store configuration.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Login looping issue&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;In some cases we see a looping issue when using IE when the time sync of off between the webgate machine and the OAM server machine.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Logout not working&lt;/span&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt; &lt;/span&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt; &lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;Please follow the instructions to configure UCM logout with OAM. http://download.oracle.com/docs/cd/E17904_01/doc.1111/e14770/ucm.htm#ASRLA3579&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt;In my next post, I will continue to integrate my OAM environment to include the Image Processing Management (IPM) tool, which requires UCM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:arial,helvetica,sans-serif;font-size:medium;"  &gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; Normal   0                     false   false   false     EN-US   X-NONE   X-NONE &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} --&gt; &lt;!--[endif]--&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-8015366562472473768?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/uJVtOdDD2UA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/8015366562472473768/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/oam-11g-ucm-integration.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/8015366562472473768?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/8015366562472473768?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/uJVtOdDD2UA/oam-11g-ucm-integration.html" title="OAM 11g - UCM Integration" /><author><name>Vinay</name><uri>http://www.blogger.com/profile/17509918852772061629</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-cdMAKbDsme8/TvDUEjJh3sI/AAAAAAAABkc/pW5Pv9jcncE/s72-c/%25255BUNSET%25255D.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/oam-11g-ucm-integration.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcGQnYyfyp7ImA9WhRQGEo.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-5162518215297773045</id><published>2011-12-13T06:26:00.000-08:00</published><updated>2011-12-14T06:30:23.897-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T06:30:23.897-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oam" /><category scheme="http://www.blogger.com/atom/ns#" term="OIF" /><category scheme="http://www.blogger.com/atom/ns#" term="federation" /><title>Multiple Identity Providers with Oracle Identity Federation and Access Manager as Service Provider</title><content type="html">&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;Whew, that’s a mouthful for a title, but&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;IdP N..1 SP [OIF+OAM] was probably too cryptic.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Let me describe the use-case in a little more detail.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Imagine if you will an education application that the state wants to surface to the various school districts.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;The districts want to manage user accounts and federate into the state’s application.&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;In order to consolidate policy enforcement for both internal and external users, the state needs a single point of entry controlled by an access control system.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The documentation for Oracle Access Manager (OAM) and Oracle Identity Federation (OIF) integration on the service provider (SP) (http://docs.oracle.com/cd/E21764_01/doc.1111/e15740/oif.htm#CACJDDGE) implies that this can only be done with a single identity provider (IdP).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;By setting OIFScheme as the authentication scheme for the application, OAM can redirect to the service provider on OIF, which will trigger an SP-initiated Single Sign-On (SSO).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;There is no way to declare which IdP to use in this scenario, however.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Thus, a different trigger mechanism is required for the multiple IdP scenario, plus we need to account for internal state users as well.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;One approach is to leverage OAM form authentication with hyperlinks to an IdP discovery page, or static links to each campus trigger for SP-initiated SSO.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;The format in OIF for this is http(s)://&amp;lt;oif&amp;gt;: &amp;lt;oif_port&amp;gt;/fed/sp/initiatesso?providerid=CAMPUS1&amp;amp;returnurl=&amp;lt;URL of destination app&amp;gt;.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Once the IdP sends its SAML Response to the OIF service provider, OIF will make authentication &amp;amp; authorization request to OAM Policy Decision Point (PDP) based on the returnurl parameter.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;If successful, OIF will redirect client to the destination application with a token that the OAM Policy Enforcement Point (PEP) will honor.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;One gotcha here is that the returnurl must be protected by the OIFScheme, not the form-based scheme used for internal users.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;That creates a challenge in that you essentially need two protected URLs for entry into the app, one to trigger the initial form authentication and one to map the external/federated users.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;If having all external users end up at the same portal site after authentication is acceptable, one can map the OIFScheme to a pseudoURL.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;You can then configure an OnAuthenticationSuccess redirect to the landing page.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This pattern is only suitable if all external users come to the same page upon successful federation.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;I tried basing the federation policy on a query parameter, i.e. returnurl=/mysite?external=true, but OAM did not seem evaluate the query parameter, only the application context.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Another hitch is that I don’t think a 10g WebGate can consume the identity token set by the service provider.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;I haven’t tested to validate, but I suspect that only the 11g WebGate can consume the OAM_ID cookie.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Thus, if you have a mixed environment, you will need an OHS 11g instance to handle external user traffic, while redirecting to other web servers only after an authentication cookie has been set.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-5162518215297773045?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/VVhRgcZhDJk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/5162518215297773045/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/12/multiple-identity-providers-with-oracle.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/5162518215297773045?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/5162518215297773045?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/VVhRgcZhDJk/multiple-identity-providers-with-oracle.html" title="Multiple Identity Providers with Oracle Identity Federation and Access Manager as Service Provider" /><author><name>Matt Carter</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>7</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/12/multiple-identity-providers-with-oracle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QBSH0-cSp7ImA9WhRRFkQ.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-8953911650907001108</id><published>2011-11-30T15:20:00.000-08:00</published><updated>2011-11-30T15:22:39.359-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-30T15:22:39.359-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cookiepath" /><category scheme="http://www.blogger.com/atom/ns#" term="sso" /><category scheme="http://www.blogger.com/atom/ns#" term="saml" /><category scheme="http://www.blogger.com/atom/ns#" term="5minutesorless" /><category scheme="http://www.blogger.com/atom/ns#" term="jsessionid" /><title>5 Minutes or Less: WLS SAML2 SSO and your cookies</title><content type="html">This is somewhat related to what Brian describes in &lt;a href="http://fusionsecurity.blogspot.com/2010/07/wls-session-cookie-overriding-in-oamsso.html" target="_blank"&gt;WLS Session Cookie Overriding in an OAM/SSO Enabled Environment&lt;/a&gt;. Here, I want to quickly point one potential issue if you plan to implement Web SSO using Weblogic server as a SAML2.0 Service Provider (SP). &lt;br /&gt;
&lt;br /&gt;
When configuring a Weblogic server instance for SAML2.0 services, you have to fill in a property called “Published Site URL”. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-mgdT_rEYryU/TsxEf2MAyJI/AAAAAAAABJ0/TJpt7KHOzT8/s1600-h/ServiceProviderGeneralInfo%25255B3%25255D.png"&gt;&lt;img alt="ServiceProviderGeneralInfo" border="0" height="621" src="http://lh4.ggpht.com/-8HAyIr3p9Tc/TsxEhvD1eQI/AAAAAAAABJ8/pYZ1P7oKkZw/ServiceProviderGeneralInfo_thumb%25255B1%25255D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="ServiceProviderGeneralInfo" width="397" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When this instance is an SP, this property tell the partner IdP (Identity Provider) where to post SAML Responses to. In the case of SAML2.0, that URL must be &lt;a href="http://%3Cserver%3E:&amp;lt;port&amp;gt;/saml2"&gt;http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/saml2&lt;/a&gt;, where &amp;lt;server&amp;gt; and &amp;lt;port&amp;gt; must refer to how the IdP recognizes the SP. In other words, if you have something like a load balancer in front of Weblogic server (which is the case if you’re running a cluster), &amp;lt;server&amp;gt; and &amp;lt;port&amp;gt; would be the load balancer’s. “saml2” is the web context of Weblogic’s internal SAML2.0 servlet, whose fully qualified name is com.bea.security.saml2.servlet.SAML2Servlet.&lt;br /&gt;
&lt;br /&gt;
Very well, this servlet, when called as a Service Provider, has the ability to consume a SAML assertion created by the partner IdP and instantiate an HTTP session for the browser session in the server. And it will tie it to the browser session by issuing a cookie named JSESSIONID whose cookie-path is set to “/”.&amp;nbsp; So what?&lt;br /&gt;
&lt;br /&gt;
It turns out that many applications specify their own cookie-path to avoid the problem of JSESSIONID clashing, where last accessed applications by the browser override the JSESSIONID cookie value during the same browser session, thus leaving orphaned HTTP sessions in the server.&lt;br /&gt;
&lt;br /&gt;
It also turns out that other applications use a different cookie name to avoid the same problem.&lt;br /&gt;
&lt;br /&gt;
In both cases, the JSESSIONID cookie issued by saml2 servlet won’t be accepted by the application. You may be prompted for authentication again (this time by the application), get an HTTP 401-Unauthorized error or get into an infinite loop of redirects between SP and IdP.&lt;br /&gt;
&lt;br /&gt;
The most obvious solutions to these problems is removing the cookie-path constraint from the application (in which case it defaults to "/") and having the application using the JSESSIONID name. You may need to get the blessings of your application provider for supportability purposes before proceeding to the changes. &lt;br /&gt;
&lt;br /&gt;
That said, get to know your applications' cookies (cookie-name and cookie-path) before integrating them into WLS SAML2 SSO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-8953911650907001108?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/CNWLYxAelYQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/8953911650907001108/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/5-minutes-or-less-wls-saml2-sso-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/8953911650907001108?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/8953911650907001108?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/CNWLYxAelYQ/5-minutes-or-less-wls-saml2-sso-and.html" title="5 Minutes or Less: WLS SAML2 SSO and your cookies" /><author><name>Andre Correa</name><uri>http://www.blogger.com/profile/02002324440974871079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_fD4zU7n9hTU/S7FK5igweRI/AAAAAAAAA44/ypx6aQUP4c8/S220/andre.jpeg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-8HAyIr3p9Tc/TsxEhvD1eQI/AAAAAAAABJ8/pYZ1P7oKkZw/s72-c/ServiceProviderGeneralInfo_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/5-minutes-or-less-wls-saml2-sso-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEMQ3w-cCp7ImA9WhRRFEQ.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-877873836963312646</id><published>2011-11-28T08:11:00.000-08:00</published><updated>2011-11-28T08:11:22.258-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-28T08:11:22.258-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webcast" /><category scheme="http://www.blogger.com/atom/ns#" term="OIA" /><category scheme="http://www.blogger.com/atom/ns#" term="Identity Analytics" /><title>Webcast tomorrow: Oracle Identity Analytics for Healthcare Orgs</title><content type="html">As some of you know my wife is a physician with a healthy interest in technology.&amp;nbsp; So, it is somewhat exciting to us that the collision of our work world's will be discussed tomorrow as Oracle hosts a webcast discussing Identity Analytics for Healthcare organizations.&lt;br /&gt;
&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:DontVertAlignCellWithSp/&gt;    &lt;w:DontBreakConstrainedForcedTables/&gt;    &lt;w:DontVertAlignInTxbx/&gt;    &lt;w:Word11KerningPairs/&gt;    &lt;w:CachedColBalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:"Table Normal";
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:"";
 mso-padding-alt:0in 5.4pt 0in 5.4pt;
 mso-para-margin:0in;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:"Calibri","sans-serif";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;}
&lt;/style&gt; &lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"&gt;Live Healthcare IT News Webcast: &lt;u&gt;&lt;span style="color: #1f497d;"&gt;&lt;a href="http://www.oracle.com/us/dm/seo100020287-wwmk11053701mpp035-522625.html"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none;"&gt;Managing Risk and Enforcing Compliance in Healthcare with Identity Analytics&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;u&gt;&lt;span style="color: #0070c0; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/u&gt;&lt;i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;Featuring experts from Kaiser Permanente, PricewaterhouseCoopers and Oracle&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:DontVertAlignCellWithSp/&gt;    &lt;w:DontBreakConstrainedForcedTables/&gt;    &lt;w:DontVertAlignInTxbx/&gt;    &lt;w:Word11KerningPairs/&gt;    &lt;w:CachedColBalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:"Table Normal";
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:"";
 mso-padding-alt:0in 5.4pt 0in 5.4pt;
 mso-para-margin:0in;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:"Calibri","sans-serif";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;}
&lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;
&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;strong&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;"&gt;Tuesday,&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;"&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; November 29, 2011&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/b&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;strong&gt;&lt;/strong&gt;10:00 a.m. PT / 1:00 p.m. ET&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;To find out more about this event or to register &lt;a href="http://www.oracle.com/us/dm/seo100020287-wwmk11053701mpp035-522625.html"&gt;click here&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt; &lt;/div&gt;&lt;strong&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-877873836963312646?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/KAjP9tqRlS8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/877873836963312646/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/webcast-tomorrow-oracle-identity.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/877873836963312646?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/877873836963312646?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/KAjP9tqRlS8/webcast-tomorrow-oracle-identity.html" title="Webcast tomorrow: Oracle Identity Analytics for Healthcare Orgs" /><author><name>Brian Eidelman</name><uri>http://www.blogger.com/profile/00527044305949442012</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/webcast-tomorrow-oracle-identity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMBRX46fSp7ImA9WhRSGU0.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-3638709619868995309</id><published>2011-11-21T11:24:00.000-08:00</published><updated>2011-11-21T11:24:14.015-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T11:24:14.015-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sts" /><category scheme="http://www.blogger.com/atom/ns#" term="osts" /><category scheme="http://www.blogger.com/atom/ns#" term="ws-trust" /><category scheme="http://www.blogger.com/atom/ns#" term="soa" /><title>More on Oracle Secure Token Services (OSTS)</title><content type="html">Last week Andre made &lt;a href="http://fusionsecurity.blogspot.com/2011/11/oracle-secure-token-services-101.html"&gt;an excellent post&lt;/a&gt; introducing the Oracle Secure Token Services (OSTS) product.&lt;br /&gt;
&lt;br /&gt;
I wanted to follow this up by letting everyone know about &lt;a href="http://www.oracle.com/us/products/middleware/identity-management/sts-wireless-telco-provider-525434.pdf"&gt;a good case study&lt;/a&gt; on the OSTS written by Oracle's partner the PathMaker Group.&amp;nbsp; The study is based on a deployement of the OSTS that they did with a customer a couple months ago.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.oracle.com/us/products/middleware/identity-management/sts-wireless-telco-provider-525434.pdf"&gt;http://www.oracle.com/us/products/middleware/identity-management/sts-wireless-telco-provider-525434.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-3638709619868995309?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/QAsR3H02g-4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/3638709619868995309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/more-on-oracle-secure-token-services.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3638709619868995309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3638709619868995309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/QAsR3H02g-4/more-on-oracle-secure-token-services.html" title="More on Oracle Secure Token Services (OSTS)" /><author><name>Brian Eidelman</name><uri>http://www.blogger.com/profile/00527044305949442012</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/more-on-oracle-secure-token-services.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkINRH0yfip7ImA9WhRSFUk.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-6641888537934657750</id><published>2011-11-17T07:00:00.000-08:00</published><updated>2011-11-17T07:43:15.396-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-17T07:43:15.396-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Request based" /><category scheme="http://www.blogger.com/atom/ns#" term="LDAP Groups" /><category scheme="http://www.blogger.com/atom/ns#" term="oid" /><category scheme="http://www.blogger.com/atom/ns#" term="OIM 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="soa" /><category scheme="http://www.blogger.com/atom/ns#" term="MDS" /><title>OIM 11g OID (LDAP) Groups Request-Based Provisioning with custom approval – Part II</title><content type="html">&lt;span style="font-weight: bold; font-family:arial;font-size:100%;"  &gt;Introduction&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;" &gt;  &lt;/span&gt;&lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;This is Part Two of the article describing a potential implementation of Request Based LDAP Group Membership provisioning. Part One can be accessed here.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Continuing with the implementation after disabling the default approval policies at the Request and Operation Levels, the next step is to configure OIM to enable the modification of a provisioned resource via a request. The datasets associated to the Create and Modify operations of the resource in questions (OID User in this case) have to be imported into MDS. The connector’s installer at the present time doesn’t do the import of the metadata files to enable request based operations for the connector; this has to be done after installation by running the corresponding MDS utilities available in OIM. &lt;/span&gt;&lt;/p&gt;  &lt;h2  style="font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Importing Connector’s Data Sets into MDS&lt;/span&gt;&lt;/h2&gt;  &lt;p  style="font-family: arial;font-family:arial;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;The files containing the definition of the data collected by the Provisioning operations are called data sets. For OID User, there are two DataSet XML files:&lt;/span&gt;&lt;/p&gt;  &lt;ul  style="margin-top: 0in; font-family: arial;font-family:arial;" type="disc"&gt;&lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;ModifyResourceOID User.xml&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;ProvisionResourceOID User.xml&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p  style="font-family: arial;font-family:arial;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;The one that we will need is the ModifyResourceOID User.xml. Here is the data set below:&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: arial;" face="arial" class="MsoNormal"&gt;&lt;a href="http://2.bp.blogspot.com/-si9ADKfjge0/TsQbsqINyTI/AAAAAAAAADo/Ab5hK2-BN-o/s1600/modifyResourceOID_UserDataSet.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 567px; height: 200px;" src="http://2.bp.blogspot.com/-si9ADKfjge0/TsQbsqINyTI/AAAAAAAAADo/Ab5hK2-BN-o/s400/modifyResourceOID_UserDataSet.png" alt="" id="BLOGGER_PHOTO_ID_5675691884430608690" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;From this data set this is what we will need for our implementation:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;‘OID User Groups’ will be used as the attribute name to construct the RequestBeneficiaryEntityAttribute as shown in the code snippet below:&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: arial;" face="arial" class="MsoNormal"&gt;&lt;a href="http://4.bp.blogspot.com/-nZizcNqdGjk/TsQcIRhYVoI/AAAAAAAAAD0/cHs-eu3xXgo/s1600/prepareOIDUserGroupsAttribute%2528CodeFragment%2529.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 671px; height: 77px;" src="http://4.bp.blogspot.com/-nZizcNqdGjk/TsQcIRhYVoI/AAAAAAAAAD0/cHs-eu3xXgo/s400/prepareOIDUserGroupsAttribute%2528CodeFragment%2529.png" alt="" id="BLOGGER_PHOTO_ID_5675692358861608578" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;If you see any required attributes in the data set, you will have to create a value for the RequestBeneficiaryEntityAttribute for that attribute reference in the data set. The OID Server is one of those attributes. Also for the insertion of Child table records here is the specific code fragment for that:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family: arial;font-family:arial;"&gt;&lt;a href="http://4.bp.blogspot.com/-wHVW_ARLQ8I/TsQcjAYx6UI/AAAAAAAAAEA/mYy4ed2FzKs/s1600/provisionEntitlement%2528Method%2529.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 508px; height: 241px;" src="http://4.bp.blogspot.com/-wHVW_ARLQ8I/TsQcjAYx6UI/AAAAAAAAAEA/mYy4ed2FzKs/s400/provisionEntitlement%2528Method%2529.png" alt="" id="BLOGGER_PHOTO_ID_5675692818118601026" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Notice that we have to use the actual Database Table field name which can be retrieved from the Form Definition. See below:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; font-family: arial;font-family:arial;"&gt;&lt;a href="http://4.bp.blogspot.com/--XZ4-WbQ1aQ/TsQcwRL4CCI/AAAAAAAAAEM/uOEVtdWLsec/s1600/childFormDefinitionOIDGroup.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 541px; height: 253px;" src="http://4.bp.blogspot.com/--XZ4-WbQ1aQ/TsQcwRL4CCI/AAAAAAAAAEM/uOEVtdWLsec/s400/childFormDefinitionOIDGroup.png" alt="" id="BLOGGER_PHOTO_ID_5675693045966178338" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2  style="font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Uploading DataSets into MDS&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;In this section I describe the process to upload DataSet XML files into MDS for OIM to use in Request Based Provisioning. As most of you know Data Sets determine the Fields collected during the provisioning process and certain attributes of those fields that make them required, pre-populated &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;or only visible to the approvers. We won’t get into the details of the structure of the data sets involved here but at least we will cover a simple procedure for importing them into MDS. MDS is the acronym for Meta Data Store. Many applications part of the Fusion Middleware family rely on MDS to store configuration or Application Metadata. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" face="arial" style="text-align: justify; font-family: arial;"&gt;&lt;span style="font-size:85%;"&gt;This implementation works with OID’s data sets so this is the procedure to import them into MDS:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li  style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Create      a directory inside &lt;middleware home=""&gt;/&lt;oracle_idm_home&gt;/ called      DataSet/file (i.e in my case the directory is      /opt/fmw11g/Oracle_IDM1/DataSet/file where my Middleware Home is      /opt/fmw11g and my OIM installation resides under Oracle_IDM1 directory).&lt;/oracle_idm_home&gt;&lt;/middleware&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Copy      all the datasets from the connector’s binaries home into the directory you      just created in the previous step.&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Switch      to the bin directory inside the server directory under you OIM home      directory (i.e. in my case /opt/fmw11g/Oracle_IDM1/server/bin).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;Modify      the file weblogic.properties inside the directory mentioned above. Here is      mine:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://2.bp.blogspot.com/-9gHckhRYzK8/TsQgH1jkZFI/AAAAAAAAAEw/Yzy1iZgtdDk/s1600/weblogicPropertiesMDSImportDataSets.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 559px; height: 233px;" src="http://2.bp.blogspot.com/-9gHckhRYzK8/TsQgH1jkZFI/AAAAAAAAAEw/Yzy1iZgtdDk/s400/weblogicPropertiesMDSImportDataSets.png" alt="" id="BLOGGER_PHOTO_ID_5675696749401105490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Wls_servername is the name of the managed server as you defined it in the WebLogic Domain.&lt;/span&gt; &lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;Application_name is always ‘oim’.&lt;/span&gt; &lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;Metadata_from_loc is the path to the directory created in the first step. Specify this path omitting the last directory in the path (‘file’) as shown in the figure. So if you have a directory /opt/fmw11g/Oracle_IDM1/DataSet/file then the path should be specified as /opt/fmw11g/Oracle_IDM1/DataSet.&lt;/span&gt;&lt;ul&gt;&lt;li  style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Set the      OIM_ORACLE_HOME to your OIM installation Home (i.e. in my case this is      what I did &lt;b style="mso-bidi-font-weight:normal"&gt;export      OIM_ORACLE_HOME=/opt/fmw11g/Oracle_IDM1&lt;/b&gt;).&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Run the      weblogicImportMetadata.bat|sh script.&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;The script will ask the following:&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;User name: weblogic&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;(Do not use xelsysadm)&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:arial;"&gt;  &lt;span style="line-height:115%;font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-mso-bidi-Times New Roman&amp;quot;; mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SAfont-family:Calibri;font-size:11.0pt;"  &gt;&lt;span style="font-size:100%;"&gt;Password: &lt;your weblogic="" s="" password=""&gt;&lt;/your&gt;&lt;/span&gt;&lt;your weblogic="" s="" span=""&gt;&lt;/your&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Server URL: t3://myOIMHost&lt;oim server="" host=""&gt;:14000&lt;your host=""&gt;&lt;oim port=""&gt;       # Provide the URL to your oim managed server and oim's port.&lt;oim’s port=""&gt;&lt;/oim’s&gt;&lt;/oim&gt;&lt;/your&gt;&lt;/oim&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;You should get an output similar to the one described below:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;a href="http://4.bp.blogspot.com/-i4_e5uW2zFE/TsQex3eaWGI/AAAAAAAAAEk/2maXlCQjY-w/s1600/weblogicImportMetadataSHOutput.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 523px; height: 213px;" src="http://4.bp.blogspot.com/-i4_e5uW2zFE/TsQex3eaWGI/AAAAAAAAAEk/2maXlCQjY-w/s400/weblogicImportMetadataSHOutput.png" alt="" id="BLOGGER_PHOTO_ID_5675695272447596642" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Run the script PurgeCache.bat|sh. Before running the script you need to set WL_HOME and JAVA_HOME environment variables with your location of WebLogic Server installation directory and path to a valid Java JDK/JRE directory (i.e. WL_HOME=/opt/fmw11g/wlserver_10.3 and JAVA_HOME=/opt/fmw11g/jdk160_24 coming with my FMW installation). The output should be similar to the following:&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://4.bp.blogspot.com/-ldXpzgFH958/TsQlEBDVt6I/AAAAAAAAAE8/DZS9VGudllc/s1600/PurgeCacheALL.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 623px; height: 100px;" src="http://4.bp.blogspot.com/-ldXpzgFH958/TsQlEBDVt6I/AAAAAAAAAE8/DZS9VGudllc/s400/PurgeCacheALL.png" alt="" id="BLOGGER_PHOTO_ID_5675702181325813666" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;In this case the user has to be xelsysadm instead of weblogic.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt; &lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Calibri","sans-serif";  mso-bidi-font-family:"Times New Roman";} &lt;/style&gt; &lt;![endif]--&gt;  &lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;h2  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Configuring the Human Task (Custom Approval Process SOA Composite)&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Now it is time to look in detail at the SOA Composite that will serve as an approval process for our entitlements (LDAP Groups).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Look at the following set of pictures:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" face="arial"&gt;&lt;a href="http://4.bp.blogspot.com/-oVp1ib3_M_U/TsQlnk_zTxI/AAAAAAAAAFI/fDcOkXWSoY8/s1600/compositeViewEditHumanTask.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 580px; height: 356px;" src="http://4.bp.blogspot.com/-oVp1ib3_M_U/TsQlnk_zTxI/AAAAAAAAAFI/fDcOkXWSoY8/s400/compositeViewEditHumanTask.png" alt="" id="BLOGGER_PHOTO_ID_5675702792270073618" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;From the Composite.xml design view in JDeveloper, right click on the Green Human Task icon and select Edit.&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;a href="http://3.bp.blogspot.com/-SPc1UjitmFA/TsQl1BM4LzI/AAAAAAAAAFU/ip2BtLUM01o/s1600/participantFlowView.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 650px; height: 273px;" src="http://3.bp.blogspot.com/-SPc1UjitmFA/TsQl1BM4LzI/AAAAAAAAAFU/ip2BtLUM01o/s400/participantFlowView.png" alt="" id="BLOGGER_PHOTO_ID_5675703023179411250" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p face="arial" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;Select the Participant block and the click the Edit button at the top of the screen. This brings the screen shown below:&lt;/span&gt;&lt;/p&gt;  &lt;p face="arial" class="MsoNormal"&gt;&lt;a href="http://4.bp.blogspot.com/-hPfSXLBElwY/TsQmClVfaFI/AAAAAAAAAFg/bDKKhXYyGlA/s1600/participantEditScreen.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 429px; height: 409px;" src="http://4.bp.blogspot.com/-hPfSXLBElwY/TsQmClVfaFI/AAAAAAAAAFg/bDKKhXYyGlA/s400/participantEditScreen.png" alt="" id="BLOGGER_PHOTO_ID_5675703256217512018" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Notice the Value Column of the participant selection table. It is a User whose Login ID is retrieved from the payload in this case: /task:task/task:ownerUser. This is populated in the early stages of the composite right after the corresponding approver is retrieved from the Entitlements_Staging Database table for the requested Entitlement identified by the field EntitlementID. This information is retrieved by the Database Adapter Web Service configured to execute a query against the Entitlements_Staging table part of the schema defined in our solution. For information on how to configure the Database Adapter task in a BPEL process, see the documentation for Fusion Middleware – SOA Suite.&lt;/span&gt;&lt;/p&gt;  &lt;h2  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Summary&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal" style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;In summary this post describes a potential approach to implement Request Based OID User Group Membership provisioning using a custom approval process.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" face="arial" style="text-align: justify; "&gt;&lt;span style="font-size:85%;"&gt;The concepts shown in this post include:&lt;/span&gt;&lt;/p&gt;  &lt;ul  style="margin-top: 0in; font-family:arial;" type="disc"&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;A      description of OIM API’s to construct and submit requests to modify      provisioned resource.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;A      demonstration of the process of configuring Custom Approval Processes via      Request Templates.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;A description      of the OIM configuration required to disable the default Request and      Operation level approvals.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;The      steps necessary to customize the SOA composite to extract required      Entitlement and Associated Approver information and how to set up the      Participants of the Human Task used to Approve/Reject requests.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;The      steps to import metadata required to enable request based provisioning for      OID Resource Objects (Users and Groups).&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"  style="margin-left: 0.25in; text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;For further details about configuration of OIM for Provisioning Processes, Process Forms, Access Policies and any details mentioned but not covered in detail in this post please access OIM Fusion Middleware Documentation from the Fusion Middleware 11g documentation.&lt;/span&gt;&lt;/p&gt;  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-6641888537934657750?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/xs55hoCWa3Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/6641888537934657750/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/oim-11g-oid-ldap-groups-request-based_17.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6641888537934657750?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6641888537934657750?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/xs55hoCWa3Q/oim-11g-oid-ldap-groups-request-based_17.html" title="OIM 11g OID (LDAP) Groups Request-Based Provisioning with custom approval – Part II" /><author><name>Alex Lopez</name><uri>http://www.blogger.com/profile/02357573849856848821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/-iA-DVK4p2Qk/Te_sqFLNDzI/AAAAAAAAABE/9waPcZi5HVs/s220/P6060033.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-si9ADKfjge0/TsQbsqINyTI/AAAAAAAAADo/Ab5hK2-BN-o/s72-c/modifyResourceOID_UserDataSet.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/oim-11g-oid-ldap-groups-request-based_17.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8FSX0yfCp7ImA9WhRSFEs.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-207421061477845837</id><published>2011-11-16T08:32:00.000-08:00</published><updated>2011-11-16T09:16:58.394-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T09:16:58.394-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Request based" /><category scheme="http://www.blogger.com/atom/ns#" term="LDAP Groups" /><category scheme="http://www.blogger.com/atom/ns#" term="OIM 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="Custom Approval" /><title>OIM 11g OID (LDAP) Groups Request-Based Provisioning with custom approval – Part I</title><content type="html">&lt;span style="font-weight: bold;font-size:100%;" &gt;Introduction  &lt;/span&gt;&lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;In recent days, I was assigned the task to implement a use case that I am sure many customers of Oracle have in mind but are not sure how to implement in OIM 11g. I even saw some thread inquiring about this very topic with no answer. Well, after some time I was able to put together an implementation of a Custom Approval process and a Custom UI based on ADF to request entitlements for users which in turn will be converted to Group memberships in OID (this also applies to any standard LDAP connector supported by OIM since the architecture is very similar for all of them). This article will be divided in 2 parts. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;To give the audience a little overview this diagram shows the architecture of the solution:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://3.bp.blogspot.com/-9yImY5eXVp4/TsPp-WdwhXI/AAAAAAAAABk/rRXE3q3K5qs/s1600/RequestBasedLDAPGropsArch.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 534px; height: 355px;" src="http://3.bp.blogspot.com/-9yImY5eXVp4/TsPp-WdwhXI/AAAAAAAAABk/rRXE3q3K5qs/s320/RequestBasedLDAPGropsArch.png" alt="" id="BLOGGER_PHOTO_ID_5675637212808512882" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;As shown in the figure above, the use case is implemented by taking advantage of a very powerful feature of OIM 11g, which is the integration with SOA to execute custom composites as approval processes. Inside the custom composite an invocation to a Web Service that implements the logic to insert records on the Child Table associated with the provisioning process instance of OID User Resource Object that in turn is associated with the Beneficiary of the original request. When an administrator provisions entitlements to a given person the following sequence of steps takes place:&lt;/span&gt;&lt;/p&gt;  &lt;ol  style="margin-top: 0in; font-family:arial;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;The      WebService Data Control in the custom UI (ADF Web Application) inserts all      the entitlements previously selected for this person into a Staging Table      in Oracle Database.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;Then an      API call to UserManager service is issued to create the OIM user in OIM.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;An      Access Policy is evaluated against the recently created OIM user and an      OID account is provisioned to the user.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;Once      the OID user is created a process task which is dependent on the      completion of the Create User Process Task gets executed. This process      task reads the records in the staging table and does one of two things:&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top:0in" start="1" type="a"&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level2 lfo1"&gt;&lt;span style="font-size:85%;"&gt;If the       entitlement doesn’t require approval, the process task directly inserts       the Child Record in the UD_OID_GRP child table, which in turn causes the connector       to add the group in the target system (OID in this case).&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level2 lfo1"&gt;&lt;span style="font-size:85%;"&gt;If the       entitlement requires approval, the process task creates a request to       modify a provisioned resource using a pre-configured request template       that has Template Level approval only (Request and Operation level       approvals are configured with Auto-Approval flag on). The associated       approval process is our custom composite, which will be described in       detail later.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;For      entitlements that require approval, the BPEL process part of the custom      approval process retrieves the Login ID of the Approver for the requested      entitlement. Then it copies the value of the approver’s login id into the      task’s owner (part of the input payload).&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;The      Human Task picks the approver from the task owner and routes the request      to the approver’s queue.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;The      approver logs in to OIM and approves/rejects the request.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-size:85%;"&gt;Inside      the composite, the Approved block executes upon request approval and calls      a Web Service that exposes a method to insert the corresponding child      table record into the Child Table. This in turn triggers the adapter to      add the user to the group in the target system (OID).&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;There are several important things to keep in mind here:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Even though the request type is MODIFYRESOURCE and the values for the child table attributes are submitted in the form, the child records are not inserted automatically after the request is approved. This has caused a lot of confusion for customers who have posted questions about how to accomplish this and no one had answered before. This is why one needs to implement the child record insertion logic and make it execute in the Approved block inside the BPEL process of the Custom Approval Process SOA composite. Later I will present such logic to you for reference.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Remember that Request Based Provisioning is not configured nor enabled out of the box in OIM 11g after connector installation. You need to import the Data Sets into MDS (This applies to any of the LDAP type connectors of OIM in 11g’s world). I will provide the steps to accomplish this later in this post.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Make sure Auto Pre-populate and Auto Save form are enabled for all provisioning processes that are automatic (OID User and OID Group).&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span style="font-size:100%;"&gt;How to do it&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Now, let’s start with the procedure to make this happen. In order to implement this functionality we are going to need the following components in our solution:&lt;/span&gt;&lt;/p&gt;  &lt;ul  style="margin-top: 0in; font-family:arial;" type="disc"&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Java      Process Task – The purpose of this task is to read the Staging table and      for each entitlement assigned to the beneficiary user’s login ID, either a      request will be submitted for approval or a direct entitlement      provisioning is performed immediately.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Approval      Process Custom SOA Composite – This SOA composite includes the following      elements:&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top:0in" type="circle"&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level2 lfo2"&gt;&lt;span style="font-size:85%;"&gt;DB       Adapter Web Service that retrieves the Approver Login ID for the requested       Entitlement ID/Login ID combination.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level2 lfo2"&gt;&lt;span style="font-size:85%;"&gt;JAX-WS       Web Service that inserts the Entitlement as a group in the Child Table of       OID User Resource.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Custom      UI based on ADF and ADF Data Controls – This user interface provides      access to the following functionality:&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top:0in" type="circle"&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level2 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Create       Internal/External Entitlements&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level2 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Assign       Approvers/Sponsors to Internal/External Entitlements respectively&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level2 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Create       Simulation HR Accounts that will be converted into OIM users.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level2 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Run       the workflow to create OIM users and initiate the process of provisioning       the LDAP OID Account and subsequently provisioning the corresponding       entitlements as LDAP Groups.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Request      Template for Entitlements – This component links the custom approval      process with the request for entitlements. The configuration of this      request template is described in detail later.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Approval      Policy at Request Level – This Approval Policy is used to disable the out      of the box Request Level approval that will send the request to the      XELSYSADM user’s queue. This policy is configured as auto approved.&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;mso-list:l0 level1 lfo2"&gt;&lt;span style="font-size:85%;"&gt;Approval      Policy at Operation Level – This Approval Policy is used to disable the      out of the box Operation Level approval that will send the request to the      XELSYSADM user’s queue. This policy is also configured for auto approval.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt; &lt;/p&gt;  &lt;h2&gt;&lt;span style="font-size:100%;"&gt;Java Process Task&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;This component is the one that does the heavy lifting when it comes to creating and submitting Modify Provisioned Resource Requests to OIM. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;The figure below is the constructor of the Process Task. The parameters to the constructor allow the class to connect to the database hosting the Staging Table with the entitlements per user:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://3.bp.blogspot.com/-4C3QOv2HV4c/TsPrE9YyV6I/AAAAAAAAAB8/Tx4QgxmCgXI/s1600/ConstructorADPJMPCRequestEntitlementsTask.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 558px; height: 282px;" src="http://3.bp.blogspot.com/-4C3QOv2HV4c/TsPrE9YyV6I/AAAAAAAAAB8/Tx4QgxmCgXI/s320/ConstructorADPJMPCRequestEntitlementsTask.png" alt="" id="BLOGGER_PHOTO_ID_5675638425847486370" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;The figure shown next shows the method that obtains the entitlements for a given user and traverses the result set to submit requests for entitlements requiring approval or insert the records in OID User RO’s child table which will trigger the addition of the user into the corresponding group on the target system.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://2.bp.blogspot.com/-88GXJZ_E9V4/TsPriBaQPNI/AAAAAAAAACI/amrZIbx6fzw/s1600/requestEntitlementsForUser%2528Method%2529.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 505px; height: 203px;" src="http://2.bp.blogspot.com/-88GXJZ_E9V4/TsPriBaQPNI/AAAAAAAAACI/amrZIbx6fzw/s320/requestEntitlementsForUser%2528Method%2529.png" alt="" id="BLOGGER_PHOTO_ID_5675638925143588050" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Here is the method that processes the entitlements returned by the query:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://3.bp.blogspot.com/-uyYQftwybv0/TsPsNXSQkEI/AAAAAAAAACU/yfz9Bn7HxZw/s1600/submitRequest%2528Method%2529.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 654px; height: 341px;" src="http://3.bp.blogspot.com/-uyYQftwybv0/TsPsNXSQkEI/AAAAAAAAACU/yfz9Bn7HxZw/s400/submitRequest%2528Method%2529.png" alt="" id="BLOGGER_PHOTO_ID_5675639669750009922" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Notice the method buildBeneficiaryData presented below. This is a very important method since it actually builds the main structure of the request before submitting it.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;a href="http://2.bp.blogspot.com/-aW3JjvdlH_M/TsPsrODcg5I/AAAAAAAAACg/7MhO3qNTGf8/s1600/buildBeneficiaryData%2528Method%2529.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 625px; height: 485px;" src="http://2.bp.blogspot.com/-aW3JjvdlH_M/TsPsrODcg5I/AAAAAAAAACg/7MhO3qNTGf8/s400/buildBeneficiaryData%2528Method%2529.png" alt="" id="BLOGGER_PHOTO_ID_5675640182668034962" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;This is the method that does direct provisioning of LDAP Groups:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://2.bp.blogspot.com/-ZhfIx_Gg2xY/TsPtQWsf89I/AAAAAAAAACs/tOewWXGQOQI/s1600/provisionEntitlement%2528Method%2529.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 625px; height: 296px;" src="http://2.bp.blogspot.com/-ZhfIx_Gg2xY/TsPtQWsf89I/AAAAAAAAACs/tOewWXGQOQI/s400/provisionEntitlement%2528Method%2529.png" alt="" id="BLOGGER_PHOTO_ID_5675640820642870226" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;The RESOURCE constant has the value of “OID User”.&lt;/span&gt;&lt;span style="mso-spacerun:yes;font-size:85%;" &gt;  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;The RESOURCE_ATTR_NAME constant has the value of “Objects.Name”. This is to work with OID User Resource Object, if you need to work with a different LDAP Server, replace the value of this constant with the name of your LDAP Server Associated Resource Object.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;For retrieving user attributes, we provide the following method:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://3.bp.blogspot.com/--k9SEw4zuCM/TsPt5iyn9DI/AAAAAAAAAC4/_gOA4n0XQiE/s1600/getUserAttributes%2528Method%2529.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 604px; height: 159px;" src="http://3.bp.blogspot.com/--k9SEw4zuCM/TsPt5iyn9DI/AAAAAAAAAC4/_gOA4n0XQiE/s400/getUserAttributes%2528Method%2529.png" alt="" id="BLOGGER_PHOTO_ID_5675641528264422450" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Configure this task to be a dependant of the Create User Task of the OID User Provisioning process. That will ensure that the task only executes when the OID User has been successfully provisioned. For details on how to accomplish this, please refer to the OIM documentation part of the Fusion Middleware 11g documentation set.&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span style="font-size:100%;"&gt;Custom Approval Process (BPEL)&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;The requirement for this scenario is that some entitlements require approval from an Approver or a Sponsor depending on the type of entitlement being requested. Internal users request only Internal type entitlements and External users can only select External entitlements. This is enforced by the User Interface by displaying a list of selectable entitlements according to the type of user to be created in OIM. The most important elements to notice are:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;The invocation task labeled as callGetEntApprover. This Task gets the Login ID of the BeneficiaryDetails and the Entitlement ID taken from the ObjectDetails parts of the inputVariable’s payload, which contains all the request data.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;The invocation task labeled as call_addUserToLDAPGroup included in the block that is executed when the task gets approved. The Web Service takes two parameters:&lt;/span&gt;&lt;span style="mso-spacerun:yes;font-size:85%;" &gt;  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;the login ID of the beneficiary and the entitlement ID of the requested entitlement. Both pieces of data come from the request data available in the inputVariable’s payload.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://1.bp.blogspot.com/-nZzEpMxPUKc/TsPumFEvXNI/AAAAAAAAADE/sSfBATSoW80/s1600/CustomApprovalProcessViewSOAComposite.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 516px; height: 675px;" src="http://1.bp.blogspot.com/-nZzEpMxPUKc/TsPumFEvXNI/AAAAAAAAADE/sSfBATSoW80/s400/CustomApprovalProcessViewSOAComposite.png" alt="" id="BLOGGER_PHOTO_ID_5675642293381455058" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Disabling Request and Operation Level approvals&lt;/h2&gt;  &lt;p class="MsoNormal"  style="text-align: justify; font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Out of the box, OIM has Request and Operation level approvals configured for standard requests. Both of these send an approval request to XELSYSADM and OIMINTERNAL user which are both part of the SYSTEM ADMINISTRATORS group. If this is not the desired effect, here is how to disable these approvals:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" face="arial" style="text-align: justify; "&gt;&lt;span style="font-size:85%;"&gt;Create an Approval Policy for Request Level, the configuration from my implementation is presented below:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;a href="http://3.bp.blogspot.com/-z66ujpc0Ews/TsPvKI29kSI/AAAAAAAAADQ/AvQo9lStxwo/s1600/requestLevelAutoApprovalPolicy.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 592px; height: 227px;" src="http://3.bp.blogspot.com/-z66ujpc0Ews/TsPvKI29kSI/AAAAAAAAADQ/AvQo9lStxwo/s400/requestLevelAutoApprovalPolicy.png" alt="" id="BLOGGER_PHOTO_ID_5675642912872698146" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; font-family: arial;"&gt;&lt;span style="font-size:85%;"&gt;Now for the Operation Level approval here is the Approval Policy shown in the figure below:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/-xCiEQoF-qdY/TsPvgrMVk9I/AAAAAAAAADc/mGT-cqKczVg/s1600/operationLevelAutoApprovalPolicy.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 598px; height: 235px;" src="http://1.bp.blogspot.com/-xCiEQoF-qdY/TsPvgrMVk9I/AAAAAAAAADc/mGT-cqKczVg/s400/operationLevelAutoApprovalPolicy.png" alt="" id="BLOGGER_PHOTO_ID_5675643300046279634" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;Notice the value in the Scope of the policy: OID User. This is required for operation level Approval Policies. You have to select the Resource Object for which the Approval Process is defined. In my case it is the OID User but in other cases it could be iPlanet User, AD User, etc. The easiest way to do it is by Composite Name which is what I did for these two Approval Policies.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-207421061477845837?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/c3imKIcZOhU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/207421061477845837/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/oim-11g-oid-ldap-groups-request-based.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/207421061477845837?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/207421061477845837?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/c3imKIcZOhU/oim-11g-oid-ldap-groups-request-based.html" title="OIM 11g OID (LDAP) Groups Request-Based Provisioning with custom approval – Part I" /><author><name>Alex Lopez</name><uri>http://www.blogger.com/profile/02357573849856848821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/-iA-DVK4p2Qk/Te_sqFLNDzI/AAAAAAAAABE/9waPcZi5HVs/s220/P6060033.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-9yImY5eXVp4/TsPp-WdwhXI/AAAAAAAAABk/rRXE3q3K5qs/s72-c/RequestBasedLDAPGropsArch.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/oim-11g-oid-ldap-groups-request-based.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EHSHo4cCp7ImA9WhRSFEs.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-14986685664648377</id><published>2011-11-15T10:46:00.001-08:00</published><updated>2011-11-16T09:47:19.438-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T09:47:19.438-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="token" /><category scheme="http://www.blogger.com/atom/ns#" term="osts" /><category scheme="http://www.blogger.com/atom/ns#" term="ws-security" /><category scheme="http://www.blogger.com/atom/ns#" term="ws-trust" /><title>Oracle Secure Token Services 101</title><content type="html">In this post I want to introduce our readers to the Oracle Secure Token Service (OSTS) product, Oracle’s solution for providing standards-based mechanisms for trust brokerage across different identity domains. I won’t cover the gory details in this first post, but I expect to give you a good overview on what the product is, the typical usage scenarios and a basic understanding of its main concepts.&lt;br&gt;
&lt;br&gt;
OSTS facilitates secure communications between web services providers and consumers. In OSTS terminology, a web service provider is a Relying Party, while a web service consumer is a Requester. It works as a central hub where web services consumers come and get security tokens that are further propagated to web services providers. In this way, it frees clients from all the necessary infrastructure to generate tokens required for identity propagation. Whenever the client needs a token, it requests one from OSTS. &lt;br&gt;
&lt;br&gt;
It’s important to make clear that OSTS is no security PEP (Policy Enforcement Point) for web services. This is up to other products like OWSM (Oracle Web Services Manager) and OEG (Oracle Enterprise Gateway). It can actually be used with both of them. OEG, for example, can act as an OSTS client when protecting web services. OSTS is a set of services that validate incoming token requests and issue security tokens. It does, however, check whether a Requester can ask for a token to access a Relying Party, but it stops right there.&lt;br&gt;
&lt;br&gt;
OSTS supports both WS-Security and WS-Trust as the protocols for token transport.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://fusionsecurity.blogspot.com/2011/11/oracle-secure-token-services-101.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-14986685664648377?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/wm0OZUU9_Iw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/14986685664648377/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/oracle-secure-token-services-101.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/14986685664648377?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/14986685664648377?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/wm0OZUU9_Iw/oracle-secure-token-services-101.html" title="Oracle Secure Token Services 101" /><author><name>Andre Correa</name><uri>http://www.blogger.com/profile/02002324440974871079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_fD4zU7n9hTU/S7FK5igweRI/AAAAAAAAA44/ypx6aQUP4c8/S220/andre.jpeg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-xcIATlm6tTc/TsKzfMHZ98I/AAAAAAAABI0/U3L9qGHpZKM/s72-c/OSTSEnabling_thumb1.png?imgmax=800" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/oracle-secure-token-services-101.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04FSHc-eyp7ImA9WhRTF0U.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-7221446093972003928</id><published>2011-11-08T13:53:00.000-08:00</published><updated>2011-11-08T14:05:19.953-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-08T14:05:19.953-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="weblogic" /><category scheme="http://www.blogger.com/atom/ns#" term="identityasserter" /><title>Why do I need an Authenticator when I have an Identity Asserter?</title><content type="html">Another common question on the internal mailing list:

&lt;blockquote&gt;
Why do we need an OID authenticator when I have the OAM Asserter enabled? The user has already been authenticated when the request gets to WebLogic.
&lt;/blockquote&gt;

The short answer is that all an Identity Asserter does is says "the request is authenticated and the username is Chris". WebLogic then needs to know how to find "Chris" and to do that it needs an Authenticator.
&lt;P/&gt;

The longer answer is available on the net already... it's just a matter of finding it.

&lt;P/&gt;

&lt;a href="http://tim.oreilly.com/pub/a/onjava/excerpt/weblogic_chap17/index1.html"&gt;The old O'Reilly WebLogic book says&lt;/a&gt;
&lt;blockquote&gt;
Identity Assertion Providers help secure access to the entry points of a WebLogic deployment. Instead of using usernames and passwords, an external client may use tokens to establish trust with a WebLogic Server. The Identity Assertion Provider verifies a token and, if successful, maps it to a valid WebLogic user. Once the token is mapped to a valid user, an Authentication Provider can then generate the principals for the user. This mechanism is called perimeter authentication, so you can consider an Identity Assertion Provider a special type of Authentication Provider. The key point here is that an external agent is responsible for authenticating the user, and then for conveying the user data to WebLogic.
&lt;/blockquote&gt;

&lt;a href="http://www.amazon.com/Professional-Oracle-WebLogic-Server-Programmer/dp/0470484306"&gt;Robert's Professional WebLogic Server book says
&lt;/a&gt;
&lt;blockquote&gt;
This security provider maps an outside authentication token to a username. This allows for functions like perimeter authentication. The identity asserter provides an implementation of a JAAS CallbackHandler. The default identity asserter supports WebLogic Server security tokens, X.509 certificates, CSIv2, and WS-Security password digest.
&lt;/blockquote&gt;

&lt;P/&gt;

Without an Authenticator that can find the user there's no way for WebLogic to create the Subject and Principals.
&lt;P/&gt;

&lt;span style="font-size: xx-small;"&gt;I wasn't going to include this, but there is a little fine print: Identity Asserters &lt;i&gt;can&lt;/i&gt; assert the identity without an Authenticator. These are pretty rare so let's leave that for a different post.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-7221446093972003928?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/bI994QDRqD4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/7221446093972003928/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/11/why-do-i-need-authenticator-when-i-have.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/7221446093972003928?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/7221446093972003928?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/bI994QDRqD4/why-do-i-need-authenticator-when-i-have.html" title="Why do I need an Authenticator when I have an Identity Asserter?" /><author><name>Chris Johnson (Oracle)</name><uri>http://www.blogger.com/profile/13331466366556759355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/-17wXvBzmlUo/TaUQBWvZe6I/AAAAAAAAAD0/D1v2wobDYZY/s220/TheRealCMJ.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/11/why-do-i-need-authenticator-when-i-have.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMQXg6fSp7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-6919560669380608562</id><published>2011-10-31T13:43:00.000-07:00</published><updated>2011-10-31T13:43:00.615-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T13:43:00.615-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="googleaps" /><category scheme="http://www.blogger.com/atom/ns#" term="OIM 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="OIF" /><category scheme="http://www.blogger.com/atom/ns#" term="5minutesorless" /><category scheme="http://www.blogger.com/atom/ns#" term="OIM" /><category scheme="http://www.blogger.com/atom/ns#" term="federation" /><title>Provisioning Users to Google Apps in Five Minutes</title><content type="html">One exciting development (at least to me) in OIM 11.1.1.5 is the introduction of the Google Apps connector.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Combine this with our existing SSO via Federation, it gives Oracle a nice lifecycle with Google Apps.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Here is a quick primer on setting this up and a couple of gotchas on the docs. I wrote this a couple of months ago before the official announcement of  the connector, so please correct me if there are any changes since.&lt;p class="MsoNormal"&gt;There are a few 3&lt;sup&gt;rd&lt;/sup&gt; party libraries from Google required for the connector. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;It appears that Google has updated its libraries already from what we’ve published in the doc.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;If you hit the problem described in &lt;a href="http://code.google.com/p/googleappengine/issues/detail?id=3008"&gt;http://code.google.com/p/googleappengine/issues/detail?id=3008&lt;/a&gt;, you probably have a “too current” version of the Google jars.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Here’s the documentation gotcha:&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;In section 2.2.2, there is a note that states:&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;“Before you run the Connector Installer, you must ensure that all third party jars must be in targetsystems-lib/googleapps-11.1.1.5.0.”&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The point that is intended here is that the folder structure must match the structure of the connector that is deployed.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;The distribution is “Google_Apps_11.1.1.5.0”, so if you take the docs literally and don’t change the name, things won’t line up.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;What is happening is that OIM is packaging the necessary 3&lt;sup&gt;rd&lt;/sup&gt; party jars and importing them into the database.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It’s important to get this right before installing the connector, or you get to go through a process of removing the jar from the database with scripts, repackaging, and re-importing.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Another confusing point is that the doc references the Java Connector Server.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This might be a forthcoming solution, but for the time being, you can just substitute the OIM server anywhere it references the JCS.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;(This article didn’t have enough three letter acronyms (TLAs)).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Bottom line, what I think the packaging should be before the connector is deployed :&lt;/p&gt;  &lt;p class="MsoNormal"&gt;/Oracle_IAM1/server/ConnectorDefaultDirectory/Google_Apps_11.1.1.5.0/&lt;connector distro=""&gt;&lt;/connector&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;/Oracle_IAM1/server/ConnectorDefaultDirectory/targetsystems-lib/Google_Apps_11.1.1.5.0/&amp;lt;3&lt;sup&gt;rd&lt;/sup&gt; party jars&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;/Oracle_IAM1/server/lib/&amp;lt;3&lt;sup&gt;rd&lt;/sup&gt; party jars&amp;gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Deploying the connector from that point is standard fare.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Here’s how I configured my IT Resource:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://3.bp.blogspot.com/-baOoxZlc4fs/Tig11Dl87DI/AAAAAAAABqA/Ad-K846yli8/s1600/GoogITResource.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 130px;" src="http://3.bp.blogspot.com/-baOoxZlc4fs/Tig11Dl87DI/AAAAAAAABqA/Ad-K846yli8/s320/GoogITResource.png" alt="" id="BLOGGER_PHOTO_ID_5631810519640632370" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Once I assigned a resource and provisioned it, the user appeared in Google apps and I was able to SSO with that user via OIF immediately.  I was also able to de-provision the user from Google by removing the resource entitlement from the user.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-6919560669380608562?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/ql8siwIIfJs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/6919560669380608562/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/10/provisioning-users-to-google-apps-in.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6919560669380608562?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6919560669380608562?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/ql8siwIIfJs/provisioning-users-to-google-apps-in.html" title="Provisioning Users to Google Apps in Five Minutes" /><author><name>Matt Carter</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-baOoxZlc4fs/Tig11Dl87DI/AAAAAAAABqA/Ad-K846yli8/s72-c/GoogITResource.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/10/provisioning-users-to-google-apps-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8HSHc7eCp7ImA9WhdaF04.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-6688275818385522668</id><published>2011-10-27T10:50:00.000-07:00</published><updated>2011-10-27T10:50:39.900-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-27T10:50:39.900-07:00</app:edited><title>Samplecode is moving</title><content type="html">The Oracle Sample Code site (samplecode.oracle.com) where we've published our samples over the past few years is being decomissioned:
&lt;blockquote&gt;
IMPORTANT: This site will be decommissioned on Oct. 28, 2011. Please move your projects to alternative platforms before that date.
&lt;/blockquote&gt;
&lt;P/&gt;

We have already downloaded the code and will move the following projects elsewhere at some point in the future:

&lt;UL&gt;
&lt;LI&gt;mutlirealm-authentication&lt;/LI&gt;
&lt;LI&gt;oes-jboss&lt;/LI&gt;
&lt;LI&gt;oes-spring&lt;/LI&gt;
&lt;LI&gt;oes-sspi-providers&lt;/LI&gt;
&lt;LI&gt;oes-ucm&lt;/LI&gt;
&lt;LI&gt;opss_sample_code&lt;/LI&gt;
&lt;LI&gt;owsm-11g-custom-assertions&lt;/LI&gt;
&lt;LI&gt;sample-identity-asserters&lt;/LI&gt;
&lt;/UL&gt;

&lt;P/&gt;
If you need the code in the meantime please let us know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-6688275818385522668?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/irdO4vLPmS8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/6688275818385522668/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/10/samplecode-is-moving.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6688275818385522668?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6688275818385522668?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/irdO4vLPmS8/samplecode-is-moving.html" title="Samplecode is moving" /><author><name>Chris Johnson (Oracle)</name><uri>http://www.blogger.com/profile/13331466366556759355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/-17wXvBzmlUo/TaUQBWvZe6I/AAAAAAAAAD0/D1v2wobDYZY/s220/TheRealCMJ.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/10/samplecode-is-moving.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UNRXoyeip7ImA9WhdaEk8.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-3950241428289378397</id><published>2011-10-21T11:21:00.000-07:00</published><updated>2011-10-21T11:21:34.492-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-21T11:21:34.492-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internals" /><category scheme="http://www.blogger.com/atom/ns#" term="nerdingout" /><category scheme="http://www.blogger.com/atom/ns#" term="jvm" /><title>Why am I seeing SIGSEGV when I strace a Java application on Linux?!</title><content type="html">A customer recently used strace on a WebLogic server that was having some trouble. The first thing that jumped out at them was hundreds of SIGSEGV, also known as Segmentation Fault, events showed up in the output. They opened a support incident and asked for more information on what might be causing all of those segmentation faults.
&lt;p&gt;&lt;/p&gt;

Most people that have used Unix for any amount of time are familiar with occasionally seeing &amp;quot;Segmentation Fault (core dumped)&amp;quot; from poorly written programs. If that&amp;#39;s all you knew about Unix and you looked at the output of strace on a Java process you&amp;#39;d think something was seriously wrong (&amp;quot;Wow, look at all these segfaults. Those guys at Sun/Oracle must be terrible programmers and they don&amp;#39;t know what the hell they&amp;#39;re doing!&amp;quot;).
&lt;p&gt;&lt;/p&gt;

The real story is quite different - SIGSEGV in a Java process is almost always perfectly normal and completely safe.
&lt;p&gt;&lt;/p&gt;
Why?
&lt;p&gt;&lt;/p&gt;
&lt;a href="http://fusionsecurity.blogspot.com/2011/10/why-am-i-seeing-sigsegv-when-i-strace.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-3950241428289378397?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/lwgEvAqYC1k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/3950241428289378397/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/10/why-am-i-seeing-sigsegv-when-i-strace.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3950241428289378397?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3950241428289378397?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/lwgEvAqYC1k/why-am-i-seeing-sigsegv-when-i-strace.html" title="Why am I seeing SIGSEGV when I strace a Java application on Linux?!" /><author><name>Chris Johnson (Oracle)</name><uri>http://www.blogger.com/profile/13331466366556759355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/-17wXvBzmlUo/TaUQBWvZe6I/AAAAAAAAAD0/D1v2wobDYZY/s220/TheRealCMJ.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/10/why-am-i-seeing-sigsegv-when-i-strace.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MCRXc_fSp7ImA9WhdbGEU.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-4211182717441195238</id><published>2011-10-17T15:11:00.000-07:00</published><updated>2011-10-17T15:11:04.945-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-17T15:11:04.945-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="securitystore" /><category scheme="http://www.blogger.com/atom/ns#" term="jpsconfig" /><category scheme="http://www.blogger.com/atom/ns#" term="oid" /><category scheme="http://www.blogger.com/atom/ns#" term="reassociation" /><category scheme="http://www.blogger.com/atom/ns#" term="opss" /><title>The “reassociation” business</title><content type="html">Since Fusion Middleware 11.1.1.4, OPSS (Oracle Platform Security Services) support 3 types of security stores: file, OID (Oracle Internet Directory) and Oracle database. When a Weblogic server domain is first created, OPSS is “associated” to a file-based security store by default, which is ok for development purposes. But for production, that is not recommended (Please check &lt;a href="http://download.oracle.com/docs/cd/E21764_01/core.1111/e10043/cfgauthr.htm#CHDEFHHA" target="_blank"&gt;Multiple Nodes Servers Environments&lt;/a&gt; section in OPSS docs). That would be ok if your whole environment is a single Weblogic domain with only one server in a single machine. But 99,99% of the cases are not like that. Usually, an SOA or WebCenter environment is composed of multiple servers in clusters spread across different machines. A file-based security store is not a scalable option. In these cases, you should look at OID or the database. Fusion Applications, a gigantic set of apps, adopt OID as the security store.&lt;br&gt;
&lt;br&gt;
The OPSS security store is a composite of policies, credentials, keys and audit services. Notice that I am leaving the identity store service out. OPSS delegates the identity store service to the identity providers configured in WebLogic server.&lt;br&gt;
&lt;br&gt;
As a side note, OPSS is not a product, but a set of security services used by Fusion Middleware. If you’re a Fusion Middleware user, trying to understand OPSS is a great idea.&lt;br&gt;
&lt;br&gt;
This post is about the nitty-gritty details of configuring (or reassociating) a Weblogic server domain (or multiple domains) to a different type of security store. That’s where the term “reassociation” comes from. &lt;br&gt;
&lt;br&gt;
The information presented here is a small subset, but complements and sometimes overlaps &lt;a href="http://download.oracle.com/docs/cd/E21764_01/core.1111/e10043/cfgauthr.htm#CHDHGAJG" target="_blank"&gt;“Configuring OPSS Security Store” documentation&lt;/a&gt; (reading is strongly recommended).&lt;br&gt;
Before going any further on reassociation, let me talk a bit about an import character: jps-config.xml.&lt;br&gt;
&lt;br&gt;
&lt;h3&gt;






jps-config.xml&lt;/h3&gt;
&lt;br&gt;
This is the OPSS file that describes all its services. It is located through the –Doracle.security.jps.config system property, which is set in setDomainEnv.sh script in a standard JRF (Java Required Files) domain. By the default, the property points to ${DOMAIN_HOME}/config/fmwconfig/jps-config.xml and it is defined in the variable EXTRA_JAVA_PROPERTIES. It is NOT a good idea to change it, since jps-config.xml holds several relative references to other files.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://fusionsecurity.blogspot.com/2011/10/reassociation-business.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-4211182717441195238?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/5Uz-oqh7jBQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/4211182717441195238/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/10/reassociation-business.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/4211182717441195238?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/4211182717441195238?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/5Uz-oqh7jBQ/reassociation-business.html" title="The “reassociation” business" /><author><name>Andre Correa</name><uri>http://www.blogger.com/profile/02002324440974871079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_fD4zU7n9hTU/S7FK5igweRI/AAAAAAAAA44/ypx6aQUP4c8/S220/andre.jpeg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-W8Zr0tEJS8s/TpihvVHvglI/AAAAAAAABGI/O-ncQz5PD3I/s72-c/SecurityProviderEM_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/10/reassociation-business.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIAQHk_cCp7ImA9WhdbFk8.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-5516240409792899738</id><published>2011-10-14T13:30:00.000-07:00</published><updated>2011-10-14T14:42:21.748-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-14T14:42:21.748-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oim 11g academy" /><category scheme="http://www.blogger.com/atom/ns#" term="11g" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="OIM 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="localization" /><title>OIM 11g Localization Tips</title><content type="html">As any other enterprise application, OIM 11g provides localization features: it detects user&amp;#39;s browser language configuration and presents the UI to the end user accordingly to the configured language.&lt;br&gt;
Customers can plug a lot of custom code and objects in OIM 11g in order to achieve their business requirements. While some customers don&amp;#39;t care about localization, some of them do care, and this post gives tips on how to localize some pieces of OIM.&lt;br&gt;
&lt;br&gt;
It is important to mention that this post does not show how to create custom fields (UDFs) or how to change request data sets. &lt;br&gt;
&lt;br&gt;
The examples below use Brazilian Portuguese as the localization language. For other languages, check the other resource bundle files available in the exactly same folders.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Connector Request Dataset&lt;/b&gt; &lt;br&gt;
&lt;br&gt;
The request data set field labels can be localized for any OIM connector deployed. The localized labels will show up when a user creates a request for that specific resource.&lt;br&gt;
&lt;br&gt;
To localize a request data set, follow the steps below:&lt;br&gt;
&lt;ul&gt;&lt;ul&gt;
&lt;/ul&gt;
&lt;li&gt;Edit the file $OIM_HOME/server/server/customResources/customResources_pt_BR.properties&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Add the localization properties following the convention below:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;request.dataset.Resource.&amp;lt;Resource Name&amp;gt;.&amp;lt;Attr Name&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;Restart OIM Server&lt;/li&gt;
&lt;/ul&gt;
Notice that the property to be added to the properties file has to follow the naming convention described above. If the &amp;lt;Resource Name&amp;gt; or &amp;lt;Attribute Name&amp;gt; contains space, you must escape it like in &amp;quot;OID\ User&amp;quot;.&lt;br&gt;
&lt;a href="http://fusionsecurity.blogspot.com/2011/10/oim-11g-localization-tips.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-5516240409792899738?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/SFe3KhmEdlA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/5516240409792899738/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/10/oim-11g-localization-tips.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/5516240409792899738?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/5516240409792899738?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/SFe3KhmEdlA/oim-11g-localization-tips.html" title="OIM 11g Localization Tips" /><author><name>Daniel Gralewski</name><uri>http://www.blogger.com/profile/05627459432973623605</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="19" height="32" src="http://4.bp.blogspot.com/-v-XVYXSbVM0/Ta4IaZ-OL_I/AAAAAAAAAAM/FVGeSMuCypg/s220/aniver2.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/10/oim-11g-localization-tips.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUCRno7eip7ImA9WhdbEE4.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-6203979077800018214</id><published>2011-10-07T18:11:00.000-07:00</published><updated>2011-10-07T18:11:07.402-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-07T18:11:07.402-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="virtualusers" /><category scheme="http://www.blogger.com/atom/ns#" term="owsm" /><category scheme="http://www.blogger.com/atom/ns#" term="transient" /><category scheme="http://www.blogger.com/atom/ns#" term="opss" /><category scheme="http://www.blogger.com/atom/ns#" term="weblogic" /><category scheme="http://www.blogger.com/atom/ns#" term="federation" /><title>Virtual Users in OIF, Weblogic and OWSM</title><content type="html">One of the main strengths of SAML is the ability to communicate identity information across security domains that &lt;strong&gt;do not necessarily share the same user base&lt;/strong&gt;. In other words, the authenticated user in one security domain does not necessarily exist in the target security domain providing the service. &lt;br&gt;
&lt;br&gt;
Such concept is supported in all major Oracle products that consume SAML tokens: OIF, Weblogic Server and OWSM. The sole purpose of this post is to show how to configure it in these products. Setting up SAML services as a whole involves more than what’s showed here and I recommend the official product documentation for detailed steps.&lt;br&gt;
&lt;br&gt;
I hope this can be helpful to someone out there.&lt;br&gt;
&lt;br&gt;
&lt;h3&gt;


OIF (Oracle Identity Federation)&lt;/h3&gt;
&lt;br&gt;
OIF enables federated single sign on for users behind a web browser. &lt;br&gt;
&lt;br&gt;
It calls the aforementioned concept “Transient Federation” and enables it via a checkbox (&lt;strong&gt;that should be unchecked&lt;/strong&gt;) in Enterprise Manager OIF’s Console. Notice it also supports the concept of a &amp;quot;Mapped Federation&amp;quot;, where the incoming identity is mapped to some generic user in the local identity store. But here I am talking about the case where there&amp;#39;s no mapping. The user in the SAML assertion is simply trusted.&lt;br&gt;
&lt;br&gt;
In order to enable a Transient Federation in OIF, simply make sure “Map Assertion to User Account” checkbox is unchecked in the Service Provider Common tab.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://lh3.ggpht.com/-Ht1eD1c5pg0/To-MUiG1YvI/AAAAAAAABFQ/1tzQY7GTlwM/s1600-h/oif11.png"&gt;&lt;img alt="oif" border="0" height="229" src="http://lh3.ggpht.com/-IlzTUOSfHIA/To-MU0cYymI/AAAAAAAABFU/LjuAisc0wwI/oif_thumb5.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="oif" width="409"&gt;&lt;/a&gt; &lt;br&gt;
&lt;br&gt;
&lt;h3&gt;


Weblogic Server&lt;/h3&gt;
&lt;br&gt;
Weblogic server provides SAML services that can be leveraged by Web SSO as well web services.&lt;br&gt;
Weblogic calls the concept Virtual Users and implements it in its SAML2IdentityAsserter along with the SAMLAuthenticator.&lt;br&gt;
&lt;br&gt;
First, you need to enable your server as a SAML Service Provider. Notice this is done at the server level. Go to Environment –&amp;gt; servers –&amp;gt; &amp;lt;Pick server from list&amp;gt; to get into the screen below:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://lh5.ggpht.com/-VJe4RWgxMhc/To-MVe5U-TI/AAAAAAAABFY/B5Ks1sj1hRc/s1600-h/SAMLServiceProvider5.png"&gt;&lt;img alt="SAMLServiceProvider" border="0" height="239" src="http://lh4.ggpht.com/-cvM2XrnsrvE/To-MVl7OsdI/AAAAAAAABFc/pe-phH58u88/SAMLServiceProvider_thumb3.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="SAMLServiceProvider" width="424"&gt;&lt;/a&gt; &lt;br&gt;
&lt;br&gt;
Then add a SAML2IdentityAsserter to the authentication providers list and add an Identity Provider (who does &lt;strong&gt;not&lt;/strong&gt; need to be another Weblogic server) Partner to SAML2IdentityAsserter. Notice that you can add either a Web SSO partner provider or a Web service partner provider. In the case of Web SSO, Weblogic Console will ask you for the partner metadata file.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://lh5.ggpht.com/-4lz3Id-CFD8/To-MV8tKXxI/AAAAAAAABFg/nempEv1AxaY/s1600-h/wls_IdpPartner7.png"&gt;&lt;img alt="wls_IdpPartner" border="0" height="283" src="http://lh3.ggpht.com/-kKIvRb0HqPg/To-MWXzKbcI/AAAAAAAABFk/be06uoj7QYI/wls_IdpPartner_thumb5.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="wls_IdpPartner" width="291"&gt;&lt;/a&gt; &lt;br&gt;
&lt;br&gt;
&lt;a href="http://fusionsecurity.blogspot.com/2011/10/virtual-users-in-oif-weblogic-and-owsm.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-6203979077800018214?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/KT5-biAVWcQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/6203979077800018214/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/10/virtual-users-in-oif-weblogic-and-owsm.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6203979077800018214?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/6203979077800018214?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/KT5-biAVWcQ/virtual-users-in-oif-weblogic-and-owsm.html" title="Virtual Users in OIF, Weblogic and OWSM" /><author><name>Andre Correa</name><uri>http://www.blogger.com/profile/02002324440974871079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_fD4zU7n9hTU/S7FK5igweRI/AAAAAAAAA44/ypx6aQUP4c8/S220/andre.jpeg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-IlzTUOSfHIA/To-MU0cYymI/AAAAAAAABFU/LjuAisc0wwI/s72-c/oif_thumb5.png?imgmax=800" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/10/virtual-users-in-oif-weblogic-and-owsm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QGSHs6fCp7ImA9WhdUGU4.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-3772483117020940617</id><published>2011-10-06T14:08:00.000-07:00</published><updated>2011-10-06T14:08:49.514-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-06T14:08:49.514-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oam" /><category scheme="http://www.blogger.com/atom/ns#" term="oam 11g academy" /><title>Understanding OAM Authentication Schemes, Modules, Step Orchestration, and Plug-ins</title><content type="html">This post is part of a larger series on Oracle Access Manager 11g called Oracle Access Manager Academy. &lt;a href="http://fusionsecurity.blogspot.com/2011/03/oracle-access-manager-academy-from.html"&gt;An index to the entire series with links to each of the separate posts is available&lt;/a&gt;.

&lt;P/&gt;

I've been working on a post about plugging your own code into Oracle Access Manager (OAM) to "do" user authentication. Before I get to that post I thought it would be a good idea to explain all of stuff between when OAM collects a credential (for example a username and password entered on an HTML form) to establishing an authenticated session.
&lt;P/&gt;

In OAM 11g the whole authentication flow from credential collection through session establishment is configurable by you the administrator, 99% of the time without needing to write a single line of code or by scripting anything. Out of the box OAM 11g ships with a bunch of sensible Authentication Schemes prewired for you which you can change or adjust to suit your needs. OAM also allows you to add additional Schemes or even upload your own code to do authentication your own special way.
&lt;P/&gt;

To help you understand the process and terminology I'm going to start at the bottom and work my way up.
&lt;P/&gt;

The lowest level component of the process is an &lt;b&gt;Authentication Plug-in&lt;/b&gt;. An Authentication Plug-in encapsulates a single chunk of work, for example looking up a user based on their username, or checking the user's password against an LDAP directory.
&lt;P/&gt;

Each plug-in does one very small thing, so you string some set of Authentication Plug-ins together to create an &lt;B&gt;Authentication Module&lt;/B&gt;. The Authentication Module allows you to select one or more Authentication Plug-ins, each of which becomes a "&lt;b&gt;Step&lt;/b&gt;". Then you configure &lt;b&gt;Step Orchestration&lt;/b&gt; which is where you tell OAM which order to call those steps and what to do if each of those steps succeeds or fails.

&lt;P/&gt;
For example the LDAP Authentication Module (the one used when you enter a username and password) has two steps:

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-0IvSSJv_fog/To4MNUntr-I/AAAAAAAAAFw/91ywBUJg_LE/s1600/Steps.png" imageanchor="1" style=""&gt;&lt;img border="0" height="122" width="293" src="http://3.bp.blogspot.com/-0IvSSJv_fog/To4MNUntr-I/AAAAAAAAAFw/91ywBUJg_LE/s320/Steps.png" /&gt;&lt;/a&gt;&lt;/div&gt;

StepUI is an abbreviation for User Identification (&lt;b&gt;not&lt;/b&gt; User Interface!)&lt;BR/&gt;
StepUA is an abbreviation for User Authentication.
&lt;P/&gt;

And they are Orchestrated so that StepUI goes first and if that succeeds then StepUA follows. Here's what that looks like in the GUI:
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-Bf4bXMmkaTU/To4NJSOOBAI/AAAAAAAAAF4/YUmbFOkRBck/s1600/Orchestration.png" imageanchor="1" style=""&gt;&lt;img border="0" height="56" width="320" src="http://4.bp.blogspot.com/-Bf4bXMmkaTU/To4NJSOOBAI/AAAAAAAAAF4/YUmbFOkRBck/s320/Orchestration.png" /&gt;&lt;/a&gt;&lt;/div&gt;

Since a picture is worth a thousand words let's translate that into a flow chart:
&lt;BR/&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-k5vHVVJjmfI/To4ROo2kMCI/AAAAAAAAAGA/33umTTzn61k/s1600/flowchart.png" imageanchor="1" style=""&gt;&lt;img border="0" height="234" width="320" src="http://3.bp.blogspot.com/-k5vHVVJjmfI/To4ROo2kMCI/AAAAAAAAAGA/33umTTzn61k/s320/flowchart.png" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;P/&gt;

OK, so what do we have so far?
&lt;P/&gt;
A Plug-in does some work.&lt;BR/&gt;
A Mechanism strings those Plug-ins together as steps and defines how they work together.&lt;BR/&gt;
All that's left is a way to actually get the credentials from the user. To do that you have to define an &lt;b&gt;Authentication Scheme&lt;/b&gt;. An Authentication Scheme has a few settings:
&lt;UL&gt;
&lt;LI&gt;Name and description&lt;/LI&gt;
&lt;LI&gt;Authentication Level - a number used to sort the schemes in order of most secure to least secure&lt;/LI&gt;
&lt;LI&gt;Challenge method - what kind of credentials and how does OAM collect them?&lt;/LI&gt;
&lt;LI&gt;Authentication Module - which authentication module is used to authenticate the credentials?&lt;/LI&gt;
&lt;LI&gt;a few other scheme-specific fields&lt;/LI&gt;
&lt;/UL&gt;
&lt;P/&gt;

This is what the Authentication Scheme looks like for LDAP:
&lt;BR/&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-YqOoXZUe-CM/To4WZuK2xeI/AAAAAAAAAGI/3GNWKYbmPT0/s1600/LDAPScheme.png" imageanchor="1" style=""&gt;&lt;img border="0" height="286" width="320" src="http://1.bp.blogspot.com/-YqOoXZUe-CM/To4WZuK2xeI/AAAAAAAAAGI/3GNWKYbmPT0/s320/LDAPScheme.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;P/&gt;

And that's it!
&lt;P/&gt;
When a user tries to access something protected with this scheme they'll have to enter their username and password into an HTML form. That data goes into OAM which calls the User Identification plug-in to locate the user in the directory, then the User Authentication plug-in to check their password against the one in the directory. If both of those steps succeed then they get an authentication session (for their DN) with a level 2.
&lt;P/&gt;

I tried to draw a picture showing the relationship between these constructs. This is the best I could do:
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-idd5FmnWE-U/To4XXOa13dI/AAAAAAAAAGQ/X9gqWkw2yKE/s1600/SchemeOverview.png" imageanchor="1" style=""&gt;&lt;img border="0" height="233" width="320" src="http://2.bp.blogspot.com/-idd5FmnWE-U/To4XXOa13dI/AAAAAAAAAGQ/X9gqWkw2yKE/s320/SchemeOverview.png" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;P/&gt;

Did this help?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-3772483117020940617?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/VI1FDv7iBMI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/3772483117020940617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/10/understanding-oam-authentication.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3772483117020940617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3772483117020940617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/VI1FDv7iBMI/understanding-oam-authentication.html" title="Understanding OAM Authentication Schemes, Modules, Step Orchestration, and Plug-ins" /><author><name>Chris Johnson (Oracle)</name><uri>http://www.blogger.com/profile/13331466366556759355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/-17wXvBzmlUo/TaUQBWvZe6I/AAAAAAAAAD0/D1v2wobDYZY/s220/TheRealCMJ.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-0IvSSJv_fog/To4MNUntr-I/AAAAAAAAAFw/91ywBUJg_LE/s72-c/Steps.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/10/understanding-oam-authentication.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04NQ3w4fyp7ImA9WhdUE0Q.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-8331988574940982718</id><published>2011-09-30T08:19:00.000-07:00</published><updated>2011-09-30T08:19:52.237-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-30T08:19:52.237-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oel" /><category scheme="http://www.blogger.com/atom/ns#" term="openldap" /><title>Quickly setup OpenLDAP on Oracle Linux 5</title><content type="html">Sometimes you need an LDAP directory for testing but don't need a heavy duty directory like OID, DSEE or OUD. In those cases OpenLDAP suits your needs and it's a quick and easy install.
&lt;P/&gt;
Last night someone pinged me and asked for help doing just that. I set it up, took some notes and thought I'd share them here.

&lt;PRE&gt;
[root@dogwoodvm ~]# yum install openldap-servers
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
Setting up Install Process
Resolving Dependencies
--&gt; Running transaction check

...etc...

Installed:
  openldap-servers.x86_64 0:2.3.43-12.el5_5.3                                                                                                          

Dependency Installed:
  libtool-ltdl.x86_64 0:1.5.22-7.el5_4                                                                                                                 

Complete!
&lt;/PRE&gt;
&lt;P/&gt;

You can find the config files in /etc/openldap
&lt;PRE&gt;
[root@dogwoodvm ~]# cd /etc/openldap/
[root@dogwoodvm openldap]# ls
cacerts  DB_CONFIG.example  ldap.conf  schema  slapd.conf
&lt;/PRE&gt;
&lt;P/&gt;

Make a backup of slapd.conf and then edit the original.
&lt;BR&gt;

Duplicate these lines and then comment out one of the pair:
&lt;PRE&gt;
#suffix         "dc=my-domain,dc=com"
#rootdn         "cn=Manager,dc=my-domain,dc=com"
&lt;/PRE&gt;
&lt;BR/&gt;

Then edit the duplicates you made to reflect your environment. I want the root of my directory to be "dc=oracleateam,dc=com" and the super user account needs to be inside that root. So my config looks like:
&lt;PRE&gt;
suffix          "dc=oracleateam,dc=com"
rootdn          "cn=Manager,dc=oracleateam,dc=com"
&lt;/PRE&gt;
&lt;P/&gt;

You will also need to pick and set the password for that account. A few lines later you'll see this:
&lt;PRE&gt;
# Cleartext passwords, especially for the rootdn, should
# be avoided.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
# rootpw                secret
# rootpw                {crypt}ijFYNcSNctBYg
&lt;/PRE&gt;

By default the OpenLDAP RPMs ship with the password disabled. In order to allow the administrator to connect and manage the directory contents you need to add a line like so:
&lt;PRE&gt;
rootpw          ABcd1234
&lt;/PRE&gt;
&lt;P/&gt;

If this were a real environment you wouldn't want to put the password in the clear there, but since this is just for testing it's fine. If you want to be more secure even for testing use the slappasswd account to hash the password before pasting it into the slapd.conf file.
&lt;P/&gt;

Side note: I always use the password ABcd1234 for my test environments - it's 8 characters long, contains uppercase letters, lowercase letters and numbers. It's a weak password but it meets virtually every default password policy I've encountered.
&lt;P/&gt;

Save the file and then start the OpenLDAP server:
&lt;PRE&gt;
[root@dogwoodvm openldap]# service ldap start
Checking configuration files for slapd:  config file testing succeeded
                                                           [  OK  ]
Starting slapd:                                            [  OK  ]
&lt;/PRE&gt;
&lt;P/&gt;

If you want the OpenLDAP server to start automatically on boot use chkconfig to do that:
&lt;PRE&gt;
[root@dogwoodvm openldap]# chkconfig --level 35 ldap on
[root@dogwoodvm openldap]# chkconfig --list ldap
ldap                0:off     1:off     2:off     3:on     4:off     5:on     6:off
&lt;/PRE&gt;
&lt;P/&gt;

Once you've done that you need to actually create the directory root objects inside the directory. To do that you can use a graphical LDAP editor or just use the command line ldapmodify tool.

&lt;PRE&gt;
[root@dogwoodvm openldap]# yum install openldap-clients
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
Setting up Install Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package openldap-clients.x86_64 0:2.3.43-12.el5_5.3 set to be updated
--&gt; Finished Dependency Resolution
... etc ...
Installed:
  openldap-clients.x86_64 0:2.3.43-12.el5_5.3                                                                                                          

Complete!
&lt;/PRE&gt;
&lt;P/&gt;

Then use ldapmodify to create the entries.
&lt;BR/&gt;

Run the command:
&lt;PRE&gt;
[root@dogwoodvm openldap]# ldapmodify -D 'cn=Manager,dc=oracleateam,dc=com' -w ABcd1234 -x
&lt;/PRE&gt;

Then paste the entry in
&lt;PRE&gt;
dn: dc=oracleateam,dc=com
changetype: add
objectClass: dcObject
objectClass: organizationalUnit
dc: oracleateam
ou: rootobject
description: LDAP Admin
&lt;/PRE&gt;

and hit return to leave a blank line. The command should come back and tell you that it's adding an entry, like so:
&lt;PRE&gt;
adding new entry "dc=oracleateam,dc=com"
&lt;/PRE&gt;

Then create the Organizational Units (ou) for People and Groups if you want them by pasting these in and hitting return after:
&lt;PRE&gt;
dn: ou=People, dc=oracleateam,dc=com
changetype: add
objectClass: organizationalUnit
ou: People
description: Users

dn: ou=Groups, dc=oracleateam,dc=com
changetype: add
objectClass: organizationalUnit
ou: Groups
description: Groups

&lt;/PRE&gt;

Hit ctrl-d to exit and you're done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-8331988574940982718?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/rGAj0K3FXZo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/8331988574940982718/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/09/quickly-setup-openldap-on-oracle-linux.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/8331988574940982718?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/8331988574940982718?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/rGAj0K3FXZo/quickly-setup-openldap-on-oracle-linux.html" title="Quickly setup OpenLDAP on Oracle Linux 5" /><author><name>Chris Johnson (Oracle)</name><uri>http://www.blogger.com/profile/13331466366556759355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/-17wXvBzmlUo/TaUQBWvZe6I/AAAAAAAAAD0/D1v2wobDYZY/s220/TheRealCMJ.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/09/quickly-setup-openldap-on-oracle-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADRHs4fip7ImA9WhRQGEw.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-4805812573039506245</id><published>2011-09-28T14:45:00.000-07:00</published><updated>2011-12-13T13:29:35.536-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-13T13:29:35.536-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="APIs" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle identity manager" /><category scheme="http://www.blogger.com/atom/ns#" term="11g" /><category scheme="http://www.blogger.com/atom/ns#" term="OIM 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="identity" /><category scheme="http://www.blogger.com/atom/ns#" term="how-to" /><category scheme="http://www.blogger.com/atom/ns#" term="JDeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="Fusion Middleware" /><title>OIM 11g Event Handler example</title><content type="html">This post shows an example of a post process event handler in OIM. The example is simple and it shows how the user profile can be updated from the event handler based on the information that is provided by OIM to the event handler. &lt;br&gt;
&lt;br&gt;
Use case description: a UDF is created in the user profile and it will hold the user&amp;#39;s &amp;#39;Director&amp;#39;. To simplify the use case, the &amp;#39;Director&amp;#39; will be the &amp;#39;manager&amp;#39;s manager&amp;#39;. In other words, the UDF will be populated with the information from two levels up in the management chain, the value to be used is the director&amp;#39;s login.&lt;br&gt;
&lt;br&gt;
The first step is to create the UDF that will hold the data. An authorization policy is also needed, otherwise it will not be possible to update the UDF using the APIs. All the steps below must be done in OIM logged as system administrator.&lt;br&gt;
&lt;br&gt;
Creating the UDF:&lt;br&gt;
&lt;br&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-09rpSJxCA50/ToI_X2EqFjI/AAAAAAAAABc/88XCPZHplxs/s1600/event_handler_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://4.bp.blogspot.com/-09rpSJxCA50/ToI_X2EqFjI/AAAAAAAAABc/88XCPZHplxs/s320/event_handler_1.png" width="320"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://fusionsecurity.blogspot.com/2011/09/oim-11g-event-handler-example.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-4805812573039506245?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/DcdX1WpKoRw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/4805812573039506245/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/09/oim-11g-event-handler-example.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/4805812573039506245?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/4805812573039506245?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/DcdX1WpKoRw/oim-11g-event-handler-example.html" title="OIM 11g Event Handler example" /><author><name>Daniel Gralewski</name><uri>http://www.blogger.com/profile/05627459432973623605</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="19" height="32" src="http://4.bp.blogspot.com/-v-XVYXSbVM0/Ta4IaZ-OL_I/AAAAAAAAAAM/FVGeSMuCypg/s220/aniver2.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-09rpSJxCA50/ToI_X2EqFjI/AAAAAAAAABc/88XCPZHplxs/s72-c/event_handler_1.png" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/09/oim-11g-event-handler-example.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YEQHs4eip7ImA9WhdVGEw.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-3223431766400987938</id><published>2011-09-23T14:57:00.001-07:00</published><updated>2011-09-23T14:58:21.532-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T14:58:21.532-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="userroleapi" /><category scheme="http://www.blogger.com/atom/ns#" term="ssl" /><category scheme="http://www.blogger.com/atom/ns#" term="5minutesorless" /><title>5 minutes or less: User/Role API and SSL</title><content type="html">This short post follows up &lt;a href="http://fusionsecurity.blogspot.com/2011/08/couple-of-things-you-need-to-know-about.html" target="_blank"&gt;Couple of things you need to know about the User/Role API&lt;/a&gt;. Now imagine that your LDAP identity provider is SSL enabled in 1-way mode (the server authenticates to the client, but the client does not authenticate to the server).&lt;br /&gt;
&lt;br /&gt;
Now you need to tell Weblogic server how to validate the LDAP server certificate. And this is accomplished by adding the LDAP server CA certificate to the configured Weblogic trust store. If we’re talking about a self-signed certificate, simply add the certificate itself to the trust store. And there are a couple of options for the trust key store: Command Line, Custom Trust, Java Standard Trust or the OOTB Demo Trust. So far, so good. By adding the certificate to one of these options, Weblogic is all good to talk to the identity provider in SSL mode. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;However, the User/Role API is not directly tied to Weblogic, so don’t expect it to take whatever is configured for the server&lt;/strong&gt;. By default, as a standard Java-based client, the User/Role API looks for the standard Java $JDK_HOME/jre/lib/security/cacerts file, unless you tell it to look elsewhere, by informing the java system properties&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;javax.net.ssl.trustStore=&amp;lt;path_to_trust_store_file&amp;gt;
javax.net.ssl.trustStorePassword=&amp;lt;trust_store_password&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
Relying on the original cacerts file may be dangerous in case you upgrade your JDK. If you need to leverage the existing certificates there, make a copy of the file and use the copy. Then simply tell the User/Role API where to read it from using the properties mentioned above.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-3223431766400987938?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/uMvxGjCmgMg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/3223431766400987938/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/09/5-minutes-or-less-userrole-api-and-ssl.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3223431766400987938?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/3223431766400987938?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/uMvxGjCmgMg/5-minutes-or-less-userrole-api-and-ssl.html" title="5 minutes or less: User/Role API and SSL" /><author><name>Andre Correa</name><uri>http://www.blogger.com/profile/02002324440974871079</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_fD4zU7n9hTU/S7FK5igweRI/AAAAAAAAA44/ypx6aQUP4c8/S220/andre.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/09/5-minutes-or-less-userrole-api-and-ssl.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cBQX4ycCp7ImA9WhdVF0w.&quot;"><id>tag:blogger.com,1999:blog-1816408742331555186.post-4036330487202754556</id><published>2011-09-22T11:10:00.000-07:00</published><updated>2011-09-22T11:10:50.098-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-22T11:10:50.098-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OpenID" /><category scheme="http://www.blogger.com/atom/ns#" term="5minutesorless" /><title>Five Minutes or less: OpenID</title><content type="html">Most of the technical people I work with know what SAML is and how it works and how the federation protocols for SAML work (SP initiated, IdP initiated, Browser Artifact, Browser POST). OpenID is much less well known.
&lt;P/&gt;

So here's what you need to know about OpenID in five minutes or less.
&lt;P/&gt;

In OpenID there are three parties:
&lt;UL&gt;
&lt;LI&gt;The user and their browser.&lt;/LI&gt;
&lt;LI&gt;The Relying Party (sometimes abbreviated to RP) is the web site that's asking the user to authenticate. In SAML this is the Service Provider.&lt;/LI&gt;
&lt;LI&gt;The OpenID Provider (sometimes abbreviated OP) is the web site that's going to vouch for the user. In SAML this is the Identity Provider&lt;/LI&gt;
&lt;/UL&gt;
&lt;P/&gt;

Many people use the SAML and OpenID terms interchangeably when talking about the OpenID parties but I'll try to remember to stick with the right ones for this post.
&lt;P/&gt;

OpenID works a whole lot like SAML's SP Initiated Browser POST authentication except for these differences:
&lt;OL&gt;
&lt;LI&gt;All user interactions are via HTTP GET&lt;/LI&gt;
&lt;LI&gt;The RP and OP communicate directly with each other via HTTP&lt;/LI&gt;
&lt;/OL&gt;

&lt;P/&gt;

Here's a simplified view of the flow:
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-D_fGGkOOjU0/Tntk4xdVJbI/AAAAAAAAAFo/qCf9QzcQycs/s1600/openid_flow.png" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="216" src="http://2.bp.blogspot.com/-D_fGGkOOjU0/Tntk4xdVJbI/AAAAAAAAAFo/qCf9QzcQycs/s320/openid_flow.png" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;P/&gt;
I've broken the flow into three stages:
&lt;OL&gt;
&lt;LI&gt;Choose OP&lt;/LI&gt;
&lt;LI&gt;Login @OP&lt;/LI&gt;
&lt;LI&gt;AuthN&lt;/LI&gt;
&lt;/OL&gt;


&lt;b&gt;Note:&lt;/b&gt; these are my own divisions and names; the OpenID standard doesn't break the flow up and doesn't have names for what I call stages.
&lt;P/&gt;

&lt;b&gt;Stage 1: Choose OP&lt;/b&gt;&lt;BR/&gt;
The first step in the OpenID flow is the user telling the Relying Party which OpenID Provider they would like to use, often though the NASCAR style row of buttons. Under the covers each of those buttons corresponds to a URL and when you click the button the HTML form is actually submitting the URL to the Relying Party's web site. In some cases the site will allow you to enter a URL of your choosing.
&lt;P/&gt;

When you send the URL to the site the Relying Party checks to see if it "likes" the OpenID Provider (usually by checking against a list of providers). If the URL looks OK the RP makes an special HTTP request, called an XRDS request, to the OP. The OP returns back a bunch of data describing the OP including the features and functionality that the OP offers.
&lt;P/&gt;

A couple of other things happen here, but in the interest of time I'm going to skip over them.
&lt;P/&gt;

If everything looks OK the RP redirects the user to the OP with an Authentication Request (via an HTTP GET with the data in the query string).
&lt;P/&gt;

&lt;b&gt;Stage 2: Login @ OP&lt;/b&gt;&lt;BR/&gt;
When the user sends their Authentication Request to the OP the OP makes the user login. If the user has already logged in to the OP then that step might be skipped.
&lt;P/&gt;

After the user has authenticated to the OP the OP generates an authentication response for the RP and redirects the user back to the RP.
&lt;P/&gt;

&lt;b&gt;Stage 3: AuthN&lt;/b&gt;&lt;BR/&gt;

Finally... the user presents that authentication response to the RP (via an HTTP GET). The RP checks it out and if it's "good" then the user is considered logged in.
&lt;P/&gt;

Finally the RP returns the content, application or whatever it is that they were trying to do at the RP in the first place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1816408742331555186-4036330487202754556?l=fusionsecurity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OracleFusionMiddlewareSecurity/~4/0aCL4Gvj4o4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fusionsecurity.blogspot.com/feeds/4036330487202754556/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://fusionsecurity.blogspot.com/2011/09/five-minutes-or-less-openid.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/4036330487202754556?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1816408742331555186/posts/default/4036330487202754556?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OracleFusionMiddlewareSecurity/~3/0aCL4Gvj4o4/five-minutes-or-less-openid.html" title="Five Minutes or less: OpenID" /><author><name>Chris Johnson (Oracle)</name><uri>http://www.blogger.com/profile/13331466366556759355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://2.bp.blogspot.com/-17wXvBzmlUo/TaUQBWvZe6I/AAAAAAAAAD0/D1v2wobDYZY/s220/TheRealCMJ.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-D_fGGkOOjU0/Tntk4xdVJbI/AAAAAAAAAFo/qCf9QzcQycs/s72-c/openid_flow.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://fusionsecurity.blogspot.com/2011/09/five-minutes-or-less-openid.html</feedburner:origLink></entry></feed>

