Hi All, There is a map called relayStateMap in SAMLSSORelyingPartyObject class. This map holds some random strings against URI values. When i want to log into APIM store or publisher it checks these random values with URI values. If there is no URI for that requested relayState(random String value) APIM will throw an error. below is the code that error throw
// relay state value should be a valid value, this value is mapped with request uri. var relayState = request.getParameter("RelayState"); var requestedURI = ssoRelyingParty.getRelayStateProperty(relayState); if( requestedURI==null){ log.error("Relaystate value is invalid."); response.sendRedirect("../error.jag"); return; } below is the getRelayStateProperty method in SAMLSSORelyingPartyObject class. public static String jsFunction_getRelayStateProperty(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws ScriptException { int argLength = args.length; if (argLength != 1 || !(args[0] instanceof String)) { String errorMsg = "Invalid argument. Relay state value is missing."; log.error(errorMsg); } String requestedURI = relayStateMap.get((String) args[0]); relayStateMap.remove((String) args[0]); return requestedURI; } I can't understand why request.getParameter("RelayState") returns a value that no URI is in relayStateMap. can someone help me to understand this scenario? -- Lakshman Udayakantha WSO2 Inc. www.wso2.com lean.enterprise.middleware Mobile: *0711241005*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev