in services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/beans/SigninParametersCacheAction.java [80:129]
public void restore(RequestContext context, String contextKey, String protocol) {
if (contextKey != null) {
@SuppressWarnings("unchecked")
Map<String, Object> signinParams =
(Map<String, Object>)WebUtils.getAttributeFromExternalContext(context, contextKey);
if (signinParams != null) {
LOG.debug("SignIn parameters restored: {}", signinParams.toString());
String value = (String)signinParams.get(IdpConstants.HOME_REALM);
if (value != null) {
WebUtils.putAttributeInFlowScope(context, IdpConstants.HOME_REALM, value);
}
value = (String)signinParams.get(IdpConstants.REALM);
if (value != null) {
WebUtils.putAttributeInFlowScope(context, IdpConstants.REALM, value);
}
value = (String)signinParams.get(IdpConstants.RETURN_ADDRESS);
if (value != null) {
WebUtils.putAttributeInFlowScope(context, IdpConstants.RETURN_ADDRESS, value);
}
value = (String)signinParams.get(IdpConstants.CONTEXT);
if (value != null) {
WebUtils.putAttributeInFlowScope(context, IdpConstants.CONTEXT, value);
}
if ("wsfed".equals(protocol)) {
WebUtils.removeAttributeFromFlowScope(context, FederationConstants.PARAM_CONTEXT);
LOG.info("SignIn parameters restored and " + FederationConstants.PARAM_CONTEXT + "["
+ contextKey + "] cleared.");
} else if ("samlsso".equals(protocol)) {
SAMLAuthnRequest authnRequest =
(SAMLAuthnRequest)signinParams.get(IdpConstants.SAML_AUTHN_REQUEST);
if (authnRequest != null) {
WebUtils.putAttributeInFlowScope(context, IdpConstants.SAML_AUTHN_REQUEST, authnRequest);
}
}
} else {
LOG.debug("Error in restoring security context");
}
WebUtils.removeAttributeFromFlowScope(context, contextKey);
} else {
LOG.debug("Error in restoring security context");
}
}