I recently integrated Oracle Identity Federation (OIF acting as Identity Provider IdP) with Google Apps (Google Docs and Calendar acting as Service Provider SP). This post covers two errors I encountered while testing OIF – Google Apps Integration.
Error while accessing OIF Test URL http://innowave12.com:7499/fed/idp/initiatesso(innowave12.com is server and 7499 is port on which OIF Managed Server is running/listening)
_E_R_R_O_R:_1_
<Dec 29, 2011 11:54:59 PM GMT> <Error> <oracle.security.fed. http.handlers.profiles. idp.CreateAuthnRequest RequestHandler> <FED-15035> <Provider ID is missing from the authentication request>
<Dec 29, 2011 11:54:59 PM GMT> <Error> <oracle.security.fed.controller.ApplicationController> <FED-12064> <Exception: {0} oracle.security.fed. controller.web.action. exceptions.Insufficient InformationException: Provider ID missing for Authentication Request
at oracle.security.fed.http. handlers.profiles.idp. CreateAuthnRequest RequestHandler.generateEvent(Unknown Source)
at oracle.security.fed.controller.web.action.RequestHandlerSupport.perform(Unknown Source)
____
Fix 1: Use Provider ID in test URL like
http://innowave12.com:7499/fed/idp/initiatesso?providerid=google.com
After adding Provider ID in test URL error message in OIF is like
_E_R_R_O_R:_2_
<Dec 29, 2011 11:57:12 PM GMT> <Error> <oracle.security. fed.eventhandler. profiles.idp.sso.Create AuthnRequestEventHandler> <FED-15034> <Profile is unknown: google.com>
<Dec 29, 2011 11:57:12 PM GMT> <Error> <oracle.security.fed.controller.ActionStateMachine> <FED-12064> <Exception: {0} oracle.security. fed.event. exceptions.Unknown ProviderException: Unknown Provider: google.com
at oracle.security.fed. eventhandler.profiles. idp.sso.Create AuthnRequest EventHandler. perform(Unknown Source)
at oracle.security.fed. controller.ActionState Machine. processEvent(Unknown Source)
______
Fix 2: Import Google Apps Metadata in OIF via Enterprise Manager (This step will create profile google.com in OIF)
Identity and Access -> OIF(11.1.1.2.0) -> Administration -> Federation -> Add
Load Metadata using file (XML) file. This will create provider ID google.com . Test URL with http://innowave12.com:7499/fed/idp/initiatesso?providerid=google.com