diff options
Diffstat (limited to 'id/server')
3 files changed, 19 insertions, 23 deletions
| diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/GenerateAuthnRequestTask.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/GenerateAuthnRequestTask.java index 963fe70c1..18432fd1c 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/GenerateAuthnRequestTask.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/GenerateAuthnRequestTask.java @@ -51,6 +51,7 @@ import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;  import at.gv.egovernment.moa.id.auth.exception.MOAIDException;  import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;  import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException; +import at.gv.egovernment.moa.id.auth.modules.eidas.Constants;  import at.gv.egovernment.moa.id.auth.modules.eidas.exceptions.EIDASEngineException;  import at.gv.egovernment.moa.id.auth.modules.eidas.utils.SAMLEngineUtils;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException; @@ -110,7 +111,7 @@ public class GenerateAuthnRequestTask extends AbstractAuthServletTask {  				Logger.error("PEPS unknown for country", new Object[] {citizenCountryCode});  				throw new AuthenticationException("Unknown PEPS for citizen country '{}'", new Object[] {citizenCountryCode});  			} -			Logger.debug("Found C-PEPS configuration for citizen of country: " + citizenCountryCode); +			Logger.debug("Found eIDaS Node/C-PEPS configuration for citizen of country: " + citizenCountryCode);  			String destination = cpeps.getPepsURL().toString().split(";")[1].trim(); // FIXME convenience for metadata url and assertion destination  			String metadataUrl = cpeps.getPepsURL().toString().split(";")[0].trim(); @@ -143,9 +144,7 @@ public class GenerateAuthnRequestTask extends AbstractAuthServletTask {  			authnRequest.setProviderName(moaconfig.getPublicURLPrefix());  			authnRequest.setPersonalAttributeList(pAttList); -			authnRequest.setIssuer(moaconfig.getPublicURLPrefix() + "/eidas/metadata"); -			//TODO: only for development and reverse proxy  -			authnRequest.setIssuer("http://localhost:12343/moa-id-auth/eidas/metadata"); +			authnRequest.setIssuer(moaconfig.getPublicURLPrefix() + Constants.eIDAS_HTTP_ENDPOINT_METADATA);  			authnRequest.setDestination(destination);   			authnRequest.setEidasNameidFormat(EIDASAuthnRequest.NAMEID_FORMAT_UNSPECIFIED); diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/EidasMetaDataServlet.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/EidasMetaDataServlet.java index bedd0b6dc..470e3b0fc 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/EidasMetaDataServlet.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/EidasMetaDataServlet.java @@ -57,12 +57,8 @@ public class EidasMetaDataServlet extends HttpServlet {              AuthConfiguration config = AuthConfigurationProviderFactory.getInstance();              String pubURLPrefix = config.getPublicURLPrefix(); -                          String metadata_url = pubURLPrefix + Constants.eIDAS_HTTP_ENDPOINT_METADATA; -            //TODO: only for development and reverse proxy  -            metadata_url = "http://localhost:12343/moa-id-auth/eidas/metadata"; -                          String sp_return_url = pubURLPrefix + Constants.eIDAS_HTTP_ENDPOINT_SP_POST;                          String metaData = generateMetadata(metadata_url, sp_return_url); @@ -92,7 +88,7 @@ public class EidasMetaDataServlet extends HttpServlet {          mcp.setAssertionConsumerUrl(returnUrl);          generator.addIDPRole(); -        mcp.setAssuranceLevel("http://eidas.europa.eu/LoA/substantial"); +        mcp.setAssuranceLevel("http://eidas.europa.eu/LoA/substantial"); // TODO make configurable          metadata = generator.generateMetadata();          return metadata; diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/AuthenticationRequest.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/AuthenticationRequest.java index 6adefdb86..1012be1b7 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/AuthenticationRequest.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/AuthenticationRequest.java @@ -24,22 +24,21 @@ package at.gv.egovernment.moa.id.protocols.eidas;  import java.io.StringWriter;  import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Iterator;  import java.util.Map.Entry; -import iaik.pkcs.pkcs11.objects.Object;  import at.gv.egovernment.moa.id.auth.builder.BPKBuilder;  import at.gv.egovernment.moa.id.auth.exception.MOAIDException; +import at.gv.egovernment.moa.id.auth.modules.eidas.Constants;  import at.gv.egovernment.moa.id.auth.modules.eidas.engine.MOAeIDASChainingMetadataProvider;  import at.gv.egovernment.moa.id.auth.modules.eidas.engine.MOAeIDASMetadataProviderDecorator;  import at.gv.egovernment.moa.id.auth.modules.eidas.utils.MOAPersonalAttributeList;  import at.gv.egovernment.moa.id.auth.modules.eidas.utils.SAMLEngineUtils; +import at.gv.egovernment.moa.id.config.auth.AuthConfiguration; +import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory;  import at.gv.egovernment.moa.id.data.IAuthData;  import at.gv.egovernment.moa.id.data.SLOInformationInterface;  import at.gv.egovernment.moa.id.moduls.IAction;  import at.gv.egovernment.moa.id.moduls.IRequest; -import at.gv.egovernment.moa.id.protocols.pvp2x.utils.SAML2Utils;  import at.gv.egovernment.moa.id.util.VelocityProvider;  import at.gv.egovernment.moa.logging.Logger; @@ -49,17 +48,12 @@ import javax.servlet.http.HttpServletResponse;  import org.apache.velocity.Template;  import org.apache.velocity.VelocityContext;  import org.apache.velocity.app.VelocityEngine; -import org.springframework.format.datetime.DateFormatter; -  import eu.eidas.auth.commons.EIDASAuthnResponse;  import eu.eidas.auth.commons.EIDASStatusCode;  import eu.eidas.auth.commons.EIDASUtil;  import eu.eidas.auth.commons.PersonalAttribute;  import eu.eidas.auth.engine.EIDASSAMLEngine; -import eu.eidas.auth.engine.core.eidas.EidasAttributesTypes; -import eu.eidas.auth.engine.core.eidas.EidasConstants;  import eu.eidas.auth.engine.metadata.MetadataUtil; -import eu.stork.peps.auth.commons.PEPSUtil;  /** @@ -86,11 +80,12 @@ public class AuthenticationRequest implements IAction {  		for(Entry<String, PersonalAttribute> current : resultingAttributeList.entrySet()) {  			String newValue = ""; +			// TODO make use of proper builder  			switch(current.getKey()) { -			case "DateOfBirth": newValue = new SimpleDateFormat("YYYY-MM-dd").format(authData.getDateOfBirth()); break; -			case "CurrentFamilyName": newValue = authData.getFamilyName();break; -			case "CurrentGivenName": newValue = authData.getGivenName();break; -			case "PersonIdentifier": newValue = new BPKBuilder().buildStorkeIdentifier(authData.getIdentificationType(), authData.getIdentificationValue(), +			case Constants.eIDAS_ATTR_DATEOFBIRTH: newValue = new SimpleDateFormat("YYYY-MM-dd").format(authData.getDateOfBirth()); break; +			case Constants.eIDAS_ATTR_CURRENTFAMILYNAME: newValue = authData.getFamilyName();break; +			case Constants.eIDAS_ATTR_CURRENTGIVENNAME: newValue = authData.getGivenName();break; +			case Constants.eIDAS_ATTR_PERSONALIDENTIFIER: newValue = new BPKBuilder().buildStorkeIdentifier(authData.getIdentificationType(), authData.getIdentificationValue(),                      eidasRequest.getTarget()); break;  			} @@ -106,7 +101,13 @@ public class AuthenticationRequest implements IAction {  		// construct eIDaS response  		EIDASAuthnResponse response = new EIDASAuthnResponse();  		response.setPersonalAttributeList(resultingAttributeList); -		response.setIssuer("http://localhost:12344/moa-id-auth/eidas/metadata"); +		 +		// - create metadata url +        AuthConfiguration config = AuthConfigurationProviderFactory.getInstance(); +        String pubURLPrefix = config.getPublicURLPrefix(); +        String metadata_url = pubURLPrefix + Constants.eIDAS_HTTP_ENDPOINT_METADATA; +		response.setIssuer(metadata_url); +  		response.setAssuranceLevel(authData.getEIDASQAALevel());  		String token = null; | 
