Wednesday, May 29, 2013

JDK version while using Fedlet


Please make sure you all use JDK6.0 version while customizing or setting up fedlet instance. This is because the fedlet jars such as openfedlib.jar and opensso-sharedlib.jar are generated based on JDK6 version.

Customizing Fedlet

I have been working on fedlet a lot these days. The greatest advantage of using fedlet is the customization. Since it is open source product, the jars available from fedlet application allows us to customize the federation process. It is also more useful to integrate with Custom IDPs.

The important jar files are:
openfedlib.jar
opensso-sharedlib.jar

These jars are present in fedlet sample application generated during fedlet setup. The major java files where customization can be made are:

SPSSOFederate.java generates the SAML Authentication request.
SPACSUtils.java processes the SAML response.
SAML2Utils.java verifies the response for validity of SAML response and assertion, signature and encryption.

Once these java files are modified appropriately, compile the class file and put the class file back to openfedlib.jar. Place the jar under application WEB-INF/lib folder and restart the application server (where fedlet is deployed) for changes to take into effect.

If you get any exceptions in fedlet, you can look for libSAML2.properties file located under WEB-INF/classes for all mapped error scenarios.

For example, while testing the SAML SSO, if  you see exception "Version is not present in the request" then look for mapped error in the libSAML2.properties file. Then search in fedlet java classes where missingVersion error is thrown.
missingVersion=Version is not present in the request.


Let me know if you need assistance to customize any specific functionality with fedlet, I can help you. 

Wednesday, May 22, 2013

Fedlet experiences

I will be writing series of posts on Fedlet in my other blog . It includes business use case discussion, fedlet setup, SSO use case execution, Signing and Encryption, Logout.

Wednesday, May 15, 2013

Which JDK is my weblogic server using?

If you quickly want to check which JDK your WebLogic server is using, this post will help you.

Under MW_HOME/wlserver_10.3/common/bin a commEnv.sh file exists. It has a setting specifying JAVA_HOME

Tuesday, May 14, 2013

Configure Logging level for OIF 11g

One can do the OIF logger setting either from EM console or wlst command.

If you want to do it through wlst command, here are the steps:

  1. Run the ./wlst.sh from ORACLE_HOME. For eg., MW_HOME/Oracle_IDM1/common/bin
  2. wls:/offline>> connect() --- connect to the AdminServer port with weblogic credentials 
  3. wls> domainRuntime()
  4. wls> listLoggers(pattern="oracle.security.fed.*",target="OIF_INSTANCE_NAME")
  5. wls>setLogLevel(target='oif_server1',logger='oracle.security.fed',level='TRACE:32',persist="1",addLogger=1) 
  6. exit()
No need to restart OIF servers.


Friday, May 10, 2013

Tool to search text in jars

Every now and then I see a need to search a text/pattern in sub-directories or jar files. One can build their own shell scripts to do this.

I found a blog that talks about a tool Javinder.
All you need to do is to download that jar file and run the command java -jar Javinder.jar and then it opens a wizard.

See the below screenshot where I wanted to search for WantAssertionsSigned pattern under jars directory C:\Projects\My_Fedlet\fedletsample\WEB-INF\lib.

Hope this helps others having the same need.