diff options
Diffstat (limited to 'id/server')
14 files changed, 64 insertions, 41 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java index 0a6d30be7..b7148a318 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java @@ -45,6 +45,7 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.NOSLOServiceDescripto  import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.NoMetadataInformationException;  import at.gv.egovernment.moa.id.storage.AssertionStorage;  import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage; +import at.gv.egovernment.moa.id.util.HTTPUtils;  import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;  import at.gv.egovernment.moa.id.util.Random;  import at.gv.egovernment.moa.logging.Logger; @@ -142,7 +143,7 @@ public class IDPSingleLogOutServlet extends AuthServlet {  						} else {  							//print SLO information directly -							redirectURL = AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix() + "/idpSingleLogout"; +							redirectURL = HTTPUtils.extractAuthURLFromRequest(req) + "/idpSingleLogout";  							String artifact = Random.nextRandom(); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfiguration.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfiguration.java index 47abf78db..65dcc7bf3 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfiguration.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfiguration.java @@ -89,6 +89,8 @@ public interface AuthConfiguration extends ConfigurationProvider{  	 */  	public List<String> getPublicURLPrefix()  throws ConfigurationException; +	public boolean isVirtualIDPsEnabled();  +	  	public boolean isPVP2AssertionEncryptionActive();  	public boolean isCertifiacteQCActive(); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java index d3c26cdbe..00d38eec9 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java @@ -1149,4 +1149,24 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide  		else  			return getMoaSpIdentityLinkTrustProfileID();  	} + +	/* (non-Javadoc) +	 * @see at.gv.egovernment.moa.id.config.auth.AuthConfiguration#isVirtualIDPsEnabled() +	 */ +	@Override +	public boolean isVirtualIDPsEnabled() { +		try { +			String value = configuration.getStringValue( +					MOAIDConfigurationConstants.GENERAL_ISVIRTUALIDPSENABLED); +			if (MiscUtil.isNotEmpty(value)) { +				return Boolean.valueOf(value); +			} +			 +		} catch (at.gv.egiz.components.configuration.api.ConfigurationException e) { +			Logger.error("Error during 'isVirutalIDPsEnabled' load operationen."  , e); +	 +		} +		 +		return false; +	}  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java index b29220af2..86fcdb8b5 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java @@ -258,8 +258,8 @@ public class AuthenticationManager extends MOAIDAuthConstants {  				AssertionStorage.getInstance().put(relayState, sloContainer); -				String timeOutURL = pvpReq -						+ "idpSingleLogout" +				String timeOutURL = pvpReq.getAuthURL() +						+ "/idpSingleLogout"  						+ "?restart=" + relayState;  		        VelocityContext context = new VelocityContext(); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/RequestImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/RequestImpl.java index c9482967f..a7027fcf1 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/RequestImpl.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/RequestImpl.java @@ -33,6 +33,7 @@ import org.opensaml.saml2.core.Attribute;  import at.gv.egovernment.moa.id.config.ConfigurationException;  import at.gv.egovernment.moa.id.config.ConfigurationProvider; +import at.gv.egovernment.moa.id.config.auth.AuthConfiguration;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory;  import at.gv.egovernment.moa.id.config.auth.IOAAuthParameters;  import at.gv.egovernment.moa.id.protocols.pvp2x.messages.MOAResponse; @@ -76,11 +77,11 @@ public abstract class RequestImpl implements IRequest, Serializable{  		} -		List<String> configuredPublicURLPrefix =  -				AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix(); +		AuthConfiguration config = AuthConfigurationProviderFactory.getInstance();		 +		List<String> configuredPublicURLPrefix = config.getPublicURLPrefix(); -		if (MiscUtil.isEmpty(authURLString)) { -			Logger.info("AuthenticationServiceURL extraction FAILED. Use default IDP PublicURLPrefix from configuration: " + configuredPublicURLPrefix.get(0)); +		if (!config.isVirtualIDPsEnabled()) { +			Logger.debug("Virtual IDPs are disabled. Use default IDP PublicURLPrefix from configuration: " + configuredPublicURLPrefix.get(0));  			this.authURL = configuredPublicURLPrefix.get(0);   		} else { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java index b567798fa..911197a05 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java @@ -259,7 +259,7 @@ public class SingleLogOutAction implements IAction {  								} else {  									//print SLO information directly -									redirectURL = AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix() + "/idpSingleLogout"; +									redirectURL = req.getAuthURL() + "/idpSingleLogout";  									String artifact = Random.nextRandom(); diff --git a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java index 93ac33524..11917d0c3 100644 --- a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java +++ b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java @@ -371,6 +371,7 @@ public class AuthenticationServer extends BaseAuthenticationServer {  	 * containg the authentication block, meant to be returned to the security  	 * layer implementation</li>  	 * </ul> +	 * @param pendingReq   	 *  	 * @param sessionID                     ID of associated authentication session data  	 * @param infoboxReadResponseParameters The parameters from the response returned from the BKU @@ -379,7 +380,7 @@ public class AuthenticationServer extends BaseAuthenticationServer {  	 * <code><CreateXMLSignatureRequest></code>  	 */  	public String verifyCertificate(AuthenticationSession session, -			X509Certificate certificate) throws AuthenticationException, +			X509Certificate certificate, IRequest pendingReq) throws AuthenticationException,  			BuildException, ParseException, ConfigurationException,  			ValidateException, ServiceException, MOAIDException { @@ -409,7 +410,7 @@ public class AuthenticationServer extends BaseAuthenticationServer {  				.getOnlineApplicationParameter(session.getPublicOAURLPrefix());  		String returnvalue = getCreateXMLSignatureRequestAuthBlockOrRedirect(session, -				authConf, oaParam); +				authConf, oaParam, pendingReq);  		return returnvalue;  	} @@ -471,6 +472,7 @@ public class AuthenticationServer extends BaseAuthenticationServer {  	 * @param session  	 * @param authConf  	 * @param oaParam +	 * @param pendingReq   	 * @return  	 * @throws ConfigurationException  	 * @throws BuildException @@ -478,7 +480,7 @@ public class AuthenticationServer extends BaseAuthenticationServer {  	 */  	public String getCreateXMLSignatureRequestAuthBlockOrRedirect(  			AuthenticationSession session, AuthConfiguration authConf, -			OAAuthParameter oaParam) throws ConfigurationException, +			OAAuthParameter oaParam, IRequest pendingReq) throws ConfigurationException,  			BuildException, ValidateException {  		//        // check for intermediate processing of the infoboxes @@ -493,7 +495,7 @@ public class AuthenticationServer extends BaseAuthenticationServer {  					session.getPublicOAURLPrefix());  		// builds the AUTH-block -		String authBlock = buildAuthenticationBlock(session, oaParam); +		String authBlock = buildAuthenticationBlock(session, oaParam, pendingReq);  		// builds the <CreateXMLSignatureRequest>  		List<String> transformsInfos = authConf.getTransformsInfos(); @@ -665,12 +667,13 @@ public class AuthenticationServer extends BaseAuthenticationServer {  	 * given session data.  	 *  	 * @param session authentication session +	 * @param pendingReq   	 * @return <code><saml:Assertion></code> as a String  	 * @throws BuildException If an error occurs on serializing an extended SAML attribute  	 *                        to be appended to the AUTH-Block.  	 */  	private String buildAuthenticationBlock(AuthenticationSession session, -			OAAuthParameter oaParam) throws BuildException { +			OAAuthParameter oaParam, IRequest pendingReq) throws BuildException {  		IdentityLink identityLink = session.getIdentityLink();  		String issuer = identityLink.getName(); @@ -726,15 +729,10 @@ public class AuthenticationServer extends BaseAuthenticationServer {  		if (session.isSsoRequested()) { -			String oaURL = new String(); -			try { -				oaURL = AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix().get(0); - -				if (MiscUtil.isNotEmpty(oaURL)) -					oaURL = oaURL.replaceAll("&", "&"); +			String oaURL = pendingReq.getAuthURL(); +			if (MiscUtil.isNotEmpty(oaURL)) +				oaURL = oaURL.replaceAll("&", "&"); -			} catch (ConfigurationException e) { -			}  			String authBlock = new AuthenticationBlockAssertionBuilder()  			.buildAuthBlockSSO(issuer, issueInstant, authURL, target,  					targetFriendlyName, identificationValue, @@ -1087,9 +1085,9 @@ public class AuthenticationServer extends BaseAuthenticationServer {  		}  		// validates <CreateXMLSignatureResponse>  		if (session.isSsoRequested()) -			new CreateXMLSignatureResponseValidator().validateSSO(csresp, session); +			new CreateXMLSignatureResponseValidator().validateSSO(csresp, session, pendingReq);  		else -			new CreateXMLSignatureResponseValidator().validate(csresp, session); +			new CreateXMLSignatureResponseValidator().validate(csresp, session, pendingReq);  		// builds a <VerifyXMLSignatureRequest> for a MOA-SPSS call  		List<String> vtids = authConf.getMoaSpAuthBlockVerifyTransformsInfoIDs(); diff --git a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java index 469ca91a9..49888c136 100644 --- a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java +++ b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java @@ -17,6 +17,8 @@ import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;  import at.gv.egovernment.moa.id.config.auth.AuthConfiguration;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory;  import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.moduls.IRequest; +import at.gv.egovernment.moa.id.moduls.RequestStorage;  import at.gv.egovernment.moa.id.process.api.ExecutionContext;  import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;  import at.gv.egovernment.moa.id.util.CitizenCardServletUtils; @@ -66,7 +68,9 @@ public class PrepareAuthBlockSignatureTask extends AbstractAuthServletTask {  			}  			pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID); - +			IRequest pendingReq = RequestStorage.getPendingRequest( +					(String) executionContext.get("pendingRequestID"));	 +						  			AuthenticationSession session = AuthenticationServer.getSession(sessionID);  			// change MOASessionID @@ -77,7 +81,7 @@ public class PrepareAuthBlockSignatureTask extends AbstractAuthServletTask {  			AuthConfiguration authConf = AuthConfigurationProviderFactory.getInstance();  			String createXMLSignatureRequest = AuthenticationServer.getInstance() -					.getCreateXMLSignatureRequestAuthBlockOrRedirect(session, authConf, oaParam); +					.getCreateXMLSignatureRequestAuthBlockOrRedirect(session, authConf, oaParam, pendingReq);  			AuthenticationSessionStoreage.storeSession(session); diff --git a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java index d99ba873d..2734d1027 100644 --- a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java +++ b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java @@ -110,7 +110,7 @@ public class VerifyCertificateTask extends AbstractAuthServletTask {  	    	if (useMandate) {  	    		// verify certificate for OrganWalter -	    		String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().verifyCertificate(session, cert); +	    		String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().verifyCertificate(session, cert, pendingReq);  		    	try {  					AuthenticationSessionStoreage.storeSession(session); diff --git a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java index d70cd6f50..8a9c19c80 100644 --- a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java +++ b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java @@ -67,6 +67,7 @@ import at.gv.egovernment.moa.id.config.ConfigurationException;  import at.gv.egovernment.moa.id.config.TargetToSectorNameMapper;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory;  import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.moduls.IRequest;  import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.Constants;  import at.gv.egovernment.moa.util.MiscUtil; @@ -124,9 +125,10 @@ public class CreateXMLSignatureResponseValidator {     * The Method validate is used for validating an explicit {@link CreateXMLSignatureResponse}     * @param createXMLSignatureResponse     * @param session + * @param pendingReq      * @throws ValidateException     */ -  public void validate(CreateXMLSignatureResponse createXMLSignatureResponse, AuthenticationSession session) +  public void validate(CreateXMLSignatureResponse createXMLSignatureResponse, AuthenticationSession session, IRequest pendingReq)     throws ValidateException {        // A3.056: more then one /saml:Assertion/saml:AttributeStatement/saml:Subject/saml:NameIdentifier @@ -411,20 +413,15 @@ public class CreateXMLSignatureResponseValidator {     * The Method validate is used for validating an explicit {@link CreateXMLSignatureResponse}     * @param createXMLSignatureResponse     * @param session + * @param pendingReq      * @throws ValidateException     */ -  public void validateSSO(CreateXMLSignatureResponse createXMLSignatureResponse, AuthenticationSession session) +  public void validateSSO(CreateXMLSignatureResponse createXMLSignatureResponse, AuthenticationSession session, IRequest pendingReq)     throws ValidateException { -      // A3.056: more then one /saml:Assertion/saml:AttributeStatement/saml:Subject/saml:NameIdentifier -     -	String oaURL; -    try { -		oaURL = AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix().get(0); -	} catch (ConfigurationException e1) { -		oaURL = new String(); -	}  -     +      // A3.056: more then one /saml:Assertion/saml:AttributeStatement/saml:Subject/saml:NameIdentifier     +	String	oaURL = pendingReq.getAuthURL(); +		      IdentityLink identityLink = session.getIdentityLink();      Element samlAssertion = createXMLSignatureResponse.getSamlAssertion();  diff --git a/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java b/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java index 56d86df72..70c29359e 100644 --- a/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java +++ b/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java @@ -104,7 +104,7 @@ public class OAuth20Protocol implements IModulInfo {  		// get error code and description  		String errorCode;  		String errorDescription; -		String errorUri = AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix()  +		String errorUri = protocolRequest.getAuthURL()   				+"/" + OAuth20Constants.ERRORPAGE;  		String moaError = null; diff --git a/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java b/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java index ddd1f1394..6573270e4 100644 --- a/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java +++ b/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java @@ -185,7 +185,7 @@ public class SAML1Protocol extends MOAIDAuthConstants implements IModulInfo {  			SAML1AuthenticationServer saml1authentication = SAML1AuthenticationServer.getInstace();			  			String samlArtifactBase64 = saml1authentication.BuildErrorAssertion(e, protocolRequest); -			String url = AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix() + "/RedirectServlet"; +			String url = protocolRequest.getAuthURL() + "/RedirectServlet";  			url = addURLParameter(url, RedirectServlet.REDIRCT_PARAM_URL, URLEncoder.encode(protocolRequest.getOAURL(), "UTF-8"));  			url = addURLParameter(url, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8"));  			url = response.encodeRedirectURL(url); diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java index 7757f5af6..2e72f216a 100644 --- a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java +++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java @@ -297,7 +297,7 @@ public class AttributeCollector implements IAction {  				Logger.info(e.getAp().getClass().getSimpleName() + " is going to ask an external service provider for the requested attributes");                  // add container-key to redirect embedded within the return URL -                e.getAp().performRedirect(AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix() + "/stork2/ResumeAuthentication?" + ARTIFACT_ID + "=" + newArtifactId, request, response, oaParam); +                e.getAp().performRedirect(AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix().get(0) + "/stork2/ResumeAuthentication?" + ARTIFACT_ID + "=" + newArtifactId, request, response, oaParam);              } catch (Exception e1) {                  // TODO should we return the response as is to the PEPS? diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java index 947accf8e..2b7d4e045 100644 --- a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java +++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java @@ -145,7 +145,7 @@ public class ConsentEvaluator implements IAction {  			Template template = velocityEngine.getTemplate("/resources/templates/stork2_consent.html");  			VelocityContext context = new VelocityContext(); -			context.put("action", AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix() + "/stork2/GetConsent?" + ARTIFACT_ID + "=" + newArtifactId); +			context.put("action", AuthConfigurationProviderFactory.getInstance().getPublicURLPrefix().get(0) + "/stork2/GetConsent?" + ARTIFACT_ID + "=" + newArtifactId);  			// assemble table  			String table = ""; | 
