diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-02-04 09:58:38 +0100 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-02-04 09:58:38 +0100 | 
| commit | 9ef2e8fc5a59abcadc71714da371605bc1fdafa5 (patch) | |
| tree | d7af53a4bfc34819a62e7fd8dd62d606f700b3f3 | |
| parent | 85fb1aa44b7b3d744d3dc210669f0569b49b2b64 (diff) | |
| download | moa-id-spss-9ef2e8fc5a59abcadc71714da371605bc1fdafa5.tar.gz moa-id-spss-9ef2e8fc5a59abcadc71714da371605bc1fdafa5.tar.bz2 moa-id-spss-9ef2e8fc5a59abcadc71714da371605bc1fdafa5.zip | |
add STORK attribut builder
25 files changed, 1967 insertions, 5 deletions
| diff --git a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java index 72a253694..4e13a34df 100644 --- a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java +++ b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java @@ -170,8 +170,10 @@ public class BuildMetadata extends HttpServlet {  					config.getPVP2KeystoreAuthRequestKeyPassword().toCharArray());			  			KeyDescriptor signKeyDescriptor = SAML2Utils  					.createSAMLObject(KeyDescriptor.class); +			  			signKeyDescriptor.setUse(UsageType.SIGNING); -			signKeyDescriptor.setKeyInfo(keyInfoGenerator.generate(authcredential));	 +			signKeyDescriptor.setKeyInfo(keyInfoGenerator.generate(authcredential)); +			  			spSSODescriptor.getKeyDescriptors().add(signKeyDescriptor); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKConstants.java new file mode 100644 index 000000000..eac1596ab --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKConstants.java @@ -0,0 +1,119 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.auth.stork; + +/** + * @author tlenz + * + */ +public class STORKConstants { +	 +	public static final String STORK_NAME_PREFIX = "http://www.stork.gov.eu/1.0/"; +	 +	public static final String EIDENTIFIER_FRIENDLYNAME = "eIdentifier"; +	public static final String EIDENTIFIER_NAME = STORK_NAME_PREFIX + EIDENTIFIER_FRIENDLYNAME; +		 +	public static final String GIVENNAME_FRIENDLYNAME = "givenName"; +	public static final String GIVENNAME_NAME = STORK_NAME_PREFIX + GIVENNAME_FRIENDLYNAME;   +	 +	public static final String SURENAME_FRIENDLYNAME = "surname"; +	public static final String SURENAME_NAME = STORK_NAME_PREFIX + SURENAME_FRIENDLYNAME;  +	 +	public static final String INHERITEDFAMILYNAME_FRIENDLYNAME = "inheritedFamilyName"; +	public static final String INHERITEDFAMILYNAME_NAME = STORK_NAME_PREFIX + INHERITEDFAMILYNAME_FRIENDLYNAME; +			 +	public static final String ADOPTEDFAMILYNAME_FRIENDLYNAME = "adoptedFamilyName"; +	public static final String ADOPTEDFAMILYNAME_NAME = STORK_NAME_PREFIX + ADOPTEDFAMILYNAME_FRIENDLYNAME; +			 +	public static final String GENDER_FRIENDLYNAME = "gender"; +	public static final String GENDER_NAME = STORK_NAME_PREFIX + GENDER_FRIENDLYNAME; +			 +	public static final String DATEOFBIRTH_FRIENDLYNAME = "dateOfBirth"; +	public static final String DATEOFBIRTH_NAME = STORK_NAME_PREFIX + DATEOFBIRTH_FRIENDLYNAME; +			 +	public static final String CONTRYCODEOFBIRTH_FRIENDLYNAME = "countryCodeOfBirth"; +	public static final String CONTRYCODEOFBIRTH_NAME = STORK_NAME_PREFIX + CONTRYCODEOFBIRTH_FRIENDLYNAME; +			 +	public static final String NATIONALITYCODE_FRIENDLYNAME = "nationalityCode"; +	public static final String NATIONALITYCODE_NAME = STORK_NAME_PREFIX +  NATIONALITYCODE_FRIENDLYNAME; +			 +	public static final String MARITALSTATUS_FRIENDLYNAME = "maritalStatus"; +	public static final String MARITALSTATUS_NAME = STORK_NAME_PREFIX + MARITALSTATUS_FRIENDLYNAME; +			 +	public static final String RESIDENCEADDRESS_FRIENDLYNAME = "residenceAddress"; +	public static final String RESIDENCEADDRESS_NAME = STORK_NAME_PREFIX + RESIDENCEADDRESS_FRIENDLYNAME; +			 +	public static final String EMAIL_FRIENDLYNAME = "eMail"; +	public static final String EMAIL_NAME = STORK_NAME_PREFIX + EMAIL_FRIENDLYNAME; +			 +	public static final String ACADEMICTITLE_FRIENDLYNAME = "academicTitle"; +	public static final String ACADEMICTITLE_NAME = STORK_NAME_PREFIX + ACADEMICTITLE_FRIENDLYNAME; +			 +	public static final String PSEUDONYM_FRIENDLYNAME = "pseudonym"; +	public static final String PSEUDONYM_NAME = STORK_NAME_PREFIX + PSEUDONYM_FRIENDLYNAME; +			 +	public static final String AGE_FRIENDLYNAME = "age"; +	public static final String AGE_NAME = STORK_NAME_PREFIX + AGE_FRIENDLYNAME; +			 +	public static final String ISAGEOVER_FRIENDLYNAME = "isAgeOver"; +	public static final String ISAGEOVER_NAME = STORK_NAME_PREFIX + ISAGEOVER_FRIENDLYNAME; +			 +	public static final String TEXTRESIDENCEADDRESS_FRIENDLYNAME = "textResidenceAddress"; +	public static final String TEXTRESIDENCEADDRESS_NAME = STORK_NAME_PREFIX + TEXTRESIDENCEADDRESS_FRIENDLYNAME; +			 +	public static final String CANONICALRESIDENCEADDRESS_FRIENDLYNAME = "canonicalResidenceAddress"; +	public static final String CANONICALRESIDENCEADDRESS_NAME = STORK_NAME_PREFIX + CANONICALRESIDENCEADDRESS_FRIENDLYNAME; +			 +	public static final String TITLE_FRIENDLYNAME = "title"; +	public static final String TITLE_NAME = STORK_NAME_PREFIX + TITLE_FRIENDLYNAME; +			 +	public static final String RESIDENCEPERMIT_FRIENDLYNAME = "residencePermit"; +	public static final String RESIDENCEPERMIT_NAME = STORK_NAME_PREFIX + RESIDENCEPERMIT_FRIENDLYNAME; + +	public static final String SIGNEDDOC_FRIENDLYNAME = "signedDoc"; +	public static final String SIGNEDDOC_NAME = STORK_NAME_PREFIX + SIGNEDDOC_FRIENDLYNAME; +			 +	public static final String CITIZEN509CERTIFICATE_FRIENDLYNAME = "citizen509Certificate"; +	public static final String CITIZEN509CERTIFICATE_NAME = STORK_NAME_PREFIX + CITIZEN509CERTIFICATE_FRIENDLYNAME; +			 +	public static final String NEWATTRIBUTE1_FRIENDLYNAME = "newAttribute1"; +	public static final String NEWATTRIBUTE1_NAME = STORK_NAME_PREFIX + NEWATTRIBUTE1_FRIENDLYNAME; +		 +	public static final String NEWATTRIBUT2_FRIENDLYNAME = "newAttribute2"; +	public static final String NEWATTRIBUT2_NAME = STORK_NAME_PREFIX + NEWATTRIBUT2_FRIENDLYNAME; +			 +	public static final String HASDEGREE_FRIENDLYNAME = "hasDegree";  +	public static final String HASDEGREE_NAME = STORK_NAME_PREFIX + HASDEGREE_FRIENDLYNAME; +			 +	public static final String MANDATECONTENT_FRIENDLYNAME = "mandateContent"; +	public static final String MANDATECONTENT_NAME = STORK_NAME_PREFIX + MANDATECONTENT_FRIENDLYNAME; +			 +	public static final String REPRESENTATIVE_FRIENDLYNAME = "representative"; +	public static final String REPRESENTATIVE_NAME = STORK_NAME_PREFIX + REPRESENTATIVE_FRIENDLYNAME; +			 +	public static final String REPRESENTED_FRIENDLYNAME = "represented"; +	public static final String REPRESENTED_NAME = STORK_NAME_PREFIX + REPRESENTED_FRIENDLYNAME; +	 +	public static final String FISCALNUMBER_FRIENDLYNAME = "fiscalNumber"; +	public static final String FISCALNUMBER_NAME = STORK_NAME_PREFIX + FISCALNUMBER_FRIENDLYNAME; +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/attributes/OAuth20AttributeBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/attributes/OAuth20AttributeBuilder.java index aedf0dbce..7bb97b9d8 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/attributes/OAuth20AttributeBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/attributes/OAuth20AttributeBuilder.java @@ -37,6 +37,7 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDCcsURL;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDCitizenQAALevelAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDIdentityLinkBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDIssuingNationAttributeBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSTORKTOKEN;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSectorForIDAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSignerCertificate;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSourcePIN; @@ -56,6 +57,20 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.MandateProfRe  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.MandateProfRepOIDAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.MandateReferenceValueAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.MandateTypeAttributeBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKAdoptedFamilyNameAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKAgeAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKCanonicalResidenceAddressAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKCountryCodeOfBirthAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKFiscalNumberAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKGenderAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKInhertedFamilyNameAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKIsAgeOverAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKMaritalStatusAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKNationalityCodeAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKPseudonymAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKResidencePermitAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKTextResidenceAddressAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKTitleAttributBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException;  import at.gv.egovernment.moa.logging.Logger; @@ -93,7 +108,7 @@ public final class OAuth20AttributeBuilder {  	private static final List<IAttributeBuilder> buildersEID = new ArrayList<IAttributeBuilder>();  	private static final List<IAttributeBuilder> buildersEIDGov = new ArrayList<IAttributeBuilder>();  	private static final List<IAttributeBuilder> buildersMandate = new ArrayList<IAttributeBuilder>(); -	 +	private static final List<IAttributeBuilder> buildersSTORK = new ArrayList<IAttributeBuilder>();  	static {  		// openId  		buildersOpenId.add(new OpenIdIssuerAttribute()); @@ -138,6 +153,24 @@ public final class OAuth20AttributeBuilder {  		buildersMandate.add(new MandateProfRepOIDAttributeBuilder());  		buildersMandate.add(new MandateProfRepDescAttributeBuilder()); +				 +		// STORK +		buildersSTORK.add(new EIDSTORKTOKEN()); +		buildersSTORK.add(new EIDSTORKTOKEN()); +		buildersSTORK.add(new STORKAdoptedFamilyNameAttributBuilder()); +		buildersSTORK.add(new STORKAgeAttributBuilder()); +		buildersSTORK.add(new STORKCanonicalResidenceAddressAttributBuilder()); +		buildersSTORK.add(new STORKCountryCodeOfBirthAttributBuilder()); +		buildersSTORK.add(new STORKFiscalNumberAttributBuilder()); +		buildersSTORK.add(new STORKGenderAttributBuilder()); +		buildersSTORK.add(new STORKInhertedFamilyNameAttributBuilder()); +		buildersSTORK.add(new STORKIsAgeOverAttributBuilder()); +		buildersSTORK.add(new STORKMaritalStatusAttributBuilder()); +		buildersSTORK.add(new STORKNationalityCodeAttributBuilder()); +		buildersSTORK.add(new STORKPseudonymAttributBuilder()); +		buildersSTORK.add(new STORKResidencePermitAttributBuilder()); +		buildersSTORK.add(new STORKTextResidenceAddressAttributBuilder()); +		buildersSTORK.add(new STORKTitleAttributBuilder());  	}  	private static void addAttibutes(final List<IAttributeBuilder> builders, final JsonObject jsonObject, @@ -180,4 +213,8 @@ public final class OAuth20AttributeBuilder {  		addAttibutes(buildersMandate, jsonObject, authSession, oaParam, authData);  	} +	public static void addScopeSTORK(final JsonObject jsonObject, final AuthenticationSession authSession, +			final OAAuthParameter oaParam, final AuthenticationData authData) { +		addAttibutes(buildersSTORK, jsonObject, authSession, oaParam, authData); +	}  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20AuthAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20AuthAction.java index 9eefa5bf3..d60b8c230 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20AuthAction.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20AuthAction.java @@ -164,8 +164,10 @@ class OAuth20AuthAction implements IAction {  			} else if (s.equalsIgnoreCase("mandate")) {  				OAuth20AttributeBuilder.addScopeMandate(token.getPayloadAsJsonObject(), session, oaParam, authData);  				resultScopes.append(" mandate"); +			} else if (s.equalsIgnoreCase("stork")) { +				OAuth20AttributeBuilder.addScopeSTORK(token.getPayloadAsJsonObject(), session, oaParam, authData); +				resultScopes.append(" stork");  			} -			// TODO parser STORK  		}  		// add properties and sign diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java index 402927261..78fe43daa 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java @@ -88,9 +88,13 @@ public class MetadataAction implements IAction {  			idpEntitiesDescriptor.getEntityDescriptors().add(idpEntityDescriptor); -			idpEntityDescriptor -					.setEntityID(PVPConfiguration.getInstance().getIDPSSOMetadataService()); +			//TODO: maybe change EntityID to Metadata URL +			//idpEntityDescriptor +			//		.setEntityID(PVPConfiguration.getInstance().getIDPSSOMetadataService()); +			idpEntityDescriptor +			.setEntityID(PVPConfiguration.getInstance().getIDPPublicPath()); +			  			idpEntityDescriptor.setValidUntil(date.plusDays(VALIDUNTIL_IN_DAYES));  			List<ContactPerson> persons = PVPConfiguration.getInstance() diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPAttributeBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPAttributeBuilder.java index 37bd83932..39e35120c 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPAttributeBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPAttributeBuilder.java @@ -39,6 +39,7 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDCcsURL;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDCitizenQAALevelAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDIdentityLinkBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDIssuingNationAttributeBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSTORKTOKEN;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSectorForIDAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSignerCertificate;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.EIDSourcePIN; @@ -62,6 +63,20 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.MandateRefere  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.MandateTypeAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.PVPVersionAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.PrincipalNameAttributeBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKAdoptedFamilyNameAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKAgeAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKCanonicalResidenceAddressAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKCountryCodeOfBirthAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKFiscalNumberAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKGenderAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKInhertedFamilyNameAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKIsAgeOverAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKMaritalStatusAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKNationalityCodeAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKPseudonymAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKResidencePermitAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKTextResidenceAddressAttributBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.STORKTitleAttributBuilder;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.SamlAttributeGenerator;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException;  import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.InvalidDateFormatAttributeException; @@ -116,6 +131,23 @@ public class PVPAttributeBuilder {  		addBuilder(new MandateProfRepDescAttributeBuilder());  		addBuilder(new MandateReferenceValueAttributeBuilder());  		addBuilder(new MandateFullMandateAttributeBuilder()); +		 +		//STORK Attributes +		addBuilder(new EIDSTORKTOKEN()); +		addBuilder(new STORKAdoptedFamilyNameAttributBuilder()); +		addBuilder(new STORKAgeAttributBuilder()); +		addBuilder(new STORKCanonicalResidenceAddressAttributBuilder()); +		addBuilder(new STORKCountryCodeOfBirthAttributBuilder()); +		addBuilder(new STORKFiscalNumberAttributBuilder()); +		addBuilder(new STORKGenderAttributBuilder()); +		addBuilder(new STORKInhertedFamilyNameAttributBuilder()); +		addBuilder(new STORKIsAgeOverAttributBuilder()); +		addBuilder(new STORKMaritalStatusAttributBuilder()); +		addBuilder(new STORKNationalityCodeAttributBuilder()); +		addBuilder(new STORKPseudonymAttributBuilder()); +		addBuilder(new STORKResidencePermitAttributBuilder()); +		addBuilder(new STORKTextResidenceAddressAttributBuilder()); +		addBuilder(new STORKTitleAttributBuilder());		  	}  	public static Attribute buildAttribute(String name, AuthenticationSession authSession, OAAuthParameter oaParam, diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/EIDSTORKTOKEN.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/EIDSTORKTOKEN.java new file mode 100644 index 000000000..e3e33d6db --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/EIDSTORKTOKEN.java @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import eu.stork.peps.auth.commons.IPersonalAttributeList; +import eu.stork.peps.auth.commons.PersonalAttribute; +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.UnavailableAttributeException; +import at.gv.egovernment.moa.logging.Logger; + +public class EIDSTORKTOKEN implements IPVPAttributeBuilder  { + +	public String getName() { +		return EID_STORK_TOKEN_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		 +		if (!authSession.isForeigner()) { +			throw new UnavailableAttributeException(EID_STORK_TOKEN_NAME); +			 +		} else { +			IPersonalAttributeList storkAttributes = authSession.getStorkAttributes(); +			 +			if ( storkAttributes == null ) { +				throw new UnavailableAttributeException(EID_STORK_TOKEN_NAME); +				 +			} + +			try { +				PersonalAttribute attribut = storkAttributes.get(STORKConstants.EIDENTIFIER_NAME); +				ATT attr; +				if (attribut != null) { +					 +					attr = g.buildStringAttribute(EID_STORK_TOKEN_FRIENDLY_NAME, EID_STORK_TOKEN_NAME, attribut.getValue().get(0));					 +					return attr;  +					 +				} else +					throw new UnavailableAttributeException(EID_STORK_TOKEN_NAME); +				 +			} catch (Exception e) { +				Logger.warn("Attribut " + EID_STORK_TOKEN_FRIENDLY_NAME + " generation error", e); +				throw new UnavailableAttributeException(EID_STORK_TOKEN_NAME); +			} +		} +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(EID_STORK_TOKEN_FRIENDLY_NAME, EID_STORK_TOKEN_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAdoptedFamilyNameAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAdoptedFamilyNameAttributBuilder.java new file mode 100644 index 000000000..b81b30e5b --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAdoptedFamilyNameAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKAdoptedFamilyNameAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.ADOPTEDFAMILYNAME_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.ADOPTEDFAMILYNAME_FRIENDLYNAME, STORKConstants.ADOPTEDFAMILYNAME_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.ADOPTEDFAMILYNAME_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.ADOPTEDFAMILYNAME_FRIENDLYNAME, STORKConstants.ADOPTEDFAMILYNAME_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAgeAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAgeAttributBuilder.java new file mode 100644 index 000000000..98fe853ff --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAgeAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKAgeAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.AGE_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.AGE_FRIENDLYNAME, STORKConstants.AGE_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.AGE_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.AGE_FRIENDLYNAME, STORKConstants.AGE_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAttributHelper.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAttributHelper.java new file mode 100644 index 000000000..6d2b031a5 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKAttributHelper.java @@ -0,0 +1,68 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import eu.stork.peps.auth.commons.IPersonalAttributeList; +import eu.stork.peps.auth.commons.PersonalAttribute; +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.UnavailableAttributeException; +import at.gv.egovernment.moa.logging.Logger; + +/** + * @author tlenz + * + */ +public class STORKAttributHelper { + +	public static String getAttribut(String attributName, +			AuthenticationSession authSession) throws UnavailableAttributeException { +		 +		if (!authSession.isForeigner()) { +			throw new UnavailableAttributeException(attributName); +			 +		} else { +			IPersonalAttributeList storkAttributes = authSession.getStorkAttributes(); +			 +			if ( storkAttributes == null ) { +				throw new UnavailableAttributeException(attributName); +				 +			} + +			try { +				PersonalAttribute attribut = storkAttributes.get(attributName); +				if (attribut != null) { +					 +					return attribut.getValue().get(0);					  +					 +				} else +					throw new UnavailableAttributeException(attributName); +				 +			} catch (Exception e) { +				Logger.warn("Attribut " + attributName + " generation error", e); +				throw new UnavailableAttributeException(attributName); +			} +		} +		 +	} +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKCanonicalResidenceAddressAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKCanonicalResidenceAddressAttributBuilder.java new file mode 100644 index 000000000..c3d6f070d --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKCanonicalResidenceAddressAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKCanonicalResidenceAddressAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.CANONICALRESIDENCEADDRESS_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.CANONICALRESIDENCEADDRESS_FRIENDLYNAME, STORKConstants.CANONICALRESIDENCEADDRESS_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.CANONICALRESIDENCEADDRESS_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.CANONICALRESIDENCEADDRESS_FRIENDLYNAME, STORKConstants.CANONICALRESIDENCEADDRESS_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKCountryCodeOfBirthAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKCountryCodeOfBirthAttributBuilder.java new file mode 100644 index 000000000..c873a86ea --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKCountryCodeOfBirthAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKCountryCodeOfBirthAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.CONTRYCODEOFBIRTH_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.CONTRYCODEOFBIRTH_FRIENDLYNAME, STORKConstants.CONTRYCODEOFBIRTH_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.CONTRYCODEOFBIRTH_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.CONTRYCODEOFBIRTH_FRIENDLYNAME, STORKConstants.CONTRYCODEOFBIRTH_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKFiscalNumberAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKFiscalNumberAttributBuilder.java new file mode 100644 index 000000000..394bffa31 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKFiscalNumberAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKFiscalNumberAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.FISCALNUMBER_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.FISCALNUMBER_FRIENDLYNAME, STORKConstants.FISCALNUMBER_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.FISCALNUMBER_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.FISCALNUMBER_FRIENDLYNAME, STORKConstants.FISCALNUMBER_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKGenderAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKGenderAttributBuilder.java new file mode 100644 index 000000000..9209e73c4 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKGenderAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKGenderAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.GENDER_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.GENDER_FRIENDLYNAME, STORKConstants.GENDER_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.GENDER_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.GENDER_FRIENDLYNAME, STORKConstants.GENDER_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKInhertedFamilyNameAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKInhertedFamilyNameAttributBuilder.java new file mode 100644 index 000000000..59f345bd3 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKInhertedFamilyNameAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKInhertedFamilyNameAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.INHERITEDFAMILYNAME_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.INHERITEDFAMILYNAME_FRIENDLYNAME, STORKConstants.INHERITEDFAMILYNAME_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.INHERITEDFAMILYNAME_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.INHERITEDFAMILYNAME_FRIENDLYNAME, STORKConstants.INHERITEDFAMILYNAME_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKIsAgeOverAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKIsAgeOverAttributBuilder.java new file mode 100644 index 000000000..d99833f13 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKIsAgeOverAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKIsAgeOverAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.ISAGEOVER_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.ISAGEOVER_FRIENDLYNAME, STORKConstants.ISAGEOVER_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.ISAGEOVER_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.ISAGEOVER_FRIENDLYNAME, STORKConstants.ISAGEOVER_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKMaritalStatusAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKMaritalStatusAttributBuilder.java new file mode 100644 index 000000000..1e627e723 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKMaritalStatusAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKMaritalStatusAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.MARITALSTATUS_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.MARITALSTATUS_FRIENDLYNAME, STORKConstants.MARITALSTATUS_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.MARITALSTATUS_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.MARITALSTATUS_FRIENDLYNAME, STORKConstants.MARITALSTATUS_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKNationalityCodeAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKNationalityCodeAttributBuilder.java new file mode 100644 index 000000000..d46219996 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKNationalityCodeAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKNationalityCodeAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.NATIONALITYCODE_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.NATIONALITYCODE_FRIENDLYNAME, STORKConstants.NATIONALITYCODE_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.NATIONALITYCODE_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.NATIONALITYCODE_FRIENDLYNAME, STORKConstants.NATIONALITYCODE_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKPseudonymAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKPseudonymAttributBuilder.java new file mode 100644 index 000000000..7bf6716ec --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKPseudonymAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKPseudonymAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.PSEUDONYM_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.PSEUDONYM_FRIENDLYNAME, STORKConstants.PSEUDONYM_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.PSEUDONYM_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.PSEUDONYM_FRIENDLYNAME, STORKConstants.PSEUDONYM_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKResidencePermitAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKResidencePermitAttributBuilder.java new file mode 100644 index 000000000..d47de1ff9 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKResidencePermitAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKResidencePermitAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.RESIDENCEPERMIT_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.RESIDENCEPERMIT_FRIENDLYNAME, STORKConstants.RESIDENCEPERMIT_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.RESIDENCEPERMIT_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.RESIDENCEPERMIT_FRIENDLYNAME, STORKConstants.RESIDENCEPERMIT_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKTextResidenceAddressAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKTextResidenceAddressAttributBuilder.java new file mode 100644 index 000000000..c75d6b0fb --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKTextResidenceAddressAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKTextResidenceAddressAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.TEXTRESIDENCEADDRESS_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.TEXTRESIDENCEADDRESS_FRIENDLYNAME, STORKConstants.TEXTRESIDENCEADDRESS_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.TEXTRESIDENCEADDRESS_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.TEXTRESIDENCEADDRESS_FRIENDLYNAME, STORKConstants.TEXTRESIDENCEADDRESS_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKTitleAttributBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKTitleAttributBuilder.java new file mode 100644 index 000000000..357b2fe0d --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/STORKTitleAttributBuilder.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; + +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.stork.STORKConstants; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.data.AuthenticationData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +public class STORKTitleAttributBuilder implements IPVPAttributeBuilder  { + +	public String getName() { +		return STORKConstants.TITLE_NAME; +	} + +	public <ATT> ATT build(AuthenticationSession authSession, OAAuthParameter oaParam, AuthenticationData authData, +			IAttributeGenerator<ATT> g) throws AttributeException { +		 +		return g.buildStringAttribute(STORKConstants.TITLE_FRIENDLYNAME, STORKConstants.TITLE_NAME,  +				STORKAttributHelper.getAttribut(STORKConstants.TITLE_NAME, authSession));  +					 +	} + +	public <ATT> ATT buildEmpty(IAttributeGenerator<ATT> g) { +		return g.buildEmptyAttribute(STORKConstants.TITLE_FRIENDLYNAME, STORKConstants.TITLE_NAME); +	} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/QAANotAllowedException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/QAANotAllowedException.java new file mode 100644 index 000000000..63f42cbe5 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/QAANotAllowedException.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + *******************************************************************************/ +package at.gv.egovernment.moa.id.protocols.pvp2x.exceptions; + +import org.opensaml.saml2.core.StatusCode; + + +public class QAANotAllowedException extends PVP2Exception { + +	public QAANotAllowedException(String qaa_auth, String qaa_request) { +		super("pvp2.17", new Object[] {qaa_auth, qaa_request}); +		this.statusCodeValue = StatusCode.REQUESTER_URI; +	} + +	/** +	 *  +	 */ +	private static final long serialVersionUID = -3964192953884089323L; + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html new file mode 100644 index 000000000..3eff06daf --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html @@ -0,0 +1,851 @@ +<!DOCTYPE html> +<html> +<head> +<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> + +<!-- MOA-ID 2.x BKUSelection Layout CSS --> +<style type="text/css"> +@media screen and (min-width: 650px) { +	body { +		margin: 0; +		padding: 0; +		color: #000; +		background-color: #fff; +		text-align: center; +		background-color: #6B7B8B; +	} +	#localBKU p { +		font-size: 0.7em; +	} +	#localBKU input { +		font-size: 0.7em; +		/*border-radius: 5px;*/ +	} +	#bkuselectionarea input[type=button] { +		font-size: 0.85em; +		/*border-radius: 7px;*/ +		margin-bottom: 25px; +		min-width: 80px; +	} +	#mandateLogin { +		font-size: 0.85em; +	} +	#bku_header h2 { +		font-size: 0.8em; +	} +	#page { +		display: block; +		border: 2px solid rgb(0, 0, 0); +		width: 650px; +		height: 440px; +		margin: 0 auto; +		margin-top: 5%; +		position: relative; +		border-radius: 25px; +		background: rgb(255, 255, 255); +	} +	#page1 { +		text-align: center; +	} +	#main { +		/*	clear:both; */ +		position: relative; +		margin: 0 auto; +		width: 250px; +		text-align: center; +	} +	.OA_header { +		/*	  background-color: white;*/ +		font-size: 20pt; +		margin-bottom: 25px; +		margin-top: 25px; +	} +	#leftcontent { +		/*float:left; */ +		width: 250px; +		margin-bottom: 25px; +		text-align: left; +		border: 1px solid rgb(0, 0, 0); +	} +	#selectArea { +		font-size: 15px; +		padding-bottom: 65px; +	} +	#leftcontent { +		width: 300px; +		margin-top: 30px; +	} +	#bku_header { +		height: 5%; +		padding-bottom: 3px; +		padding-top: 3px; +	} +	#bkulogin { +		overflow: hidden; +		min-width: 190px; +		min-height: 180px; +		/*height: 260px;*/ +	} +	h2#tabheader { +		font-size: 1.1em; +		padding-left: 2%; +		padding-right: 2%; +		position: relative; +	} +	.setAssertionButton_full { +		background: #efefef; +		cursor: pointer; +		margin-top: 15px; +		width: 100px; +		height: 30px +	} +	#leftbutton { +		width: 30%; +		float: left; +		margin-left: 40px; +	} +	#rightbutton { +		width: 30%; +		float: right; +		margin-right: 45px; +		text-align: right; +	} +	button { +		height: 25px; +		width: 75px; +		margin-bottom: 10px; +	} +	#validation { +		position: absolute; +		bottom: 0px; +		margin-left: 270px; +		padding-bottom: 10px; +	} +} + +@media screen and (max-width: 205px) { +	#localBKU p { +		font-size: 0.6em; +	} +	#localBKU input { +		font-size: 0.6em; +		min-width: 60px; +		/* max-width: 65px; */ +		min-height: 1.0em; +		/* border-radius: 5px; */ +	} +	#bkuselectionarea input[type=button] { +		font-size: 0.7em; +		min-width: 55px; +		/*min-height: 1.1em; +          border-radius: 5px;*/ +		margin-bottom: 2% +	} +	#mandateLogin { +		font-size: 0.65em; +	} +	#bku_header h2 { +		font-size: 0.8em; +		margin-top: -0.4em; +		padding-top: 0.4em; +	} +	#bkulogin { +		min-height: 150px; +	} +} + +@media screen and (max-width: 249px) and (min-width: 206px) { +	#localBKU p { +		font-size: 0.7em; +	} +	#localBKU input { +		font-size: 0.7em; +		min-width: 70px; +		/*    max-width: 75px;    */ +		min-height: 0.95em; +		/*  border-radius: 6px;    */ +	} +	#bkuselectionarea input[type=button] { +		font-size: 0.75em; +		min-width: 60px; +		/*    min-height: 0.95em; +          border-radius: 6px;    */ +		margin-bottom: 5% +	} +	#mandateLogin { +		font-size: 0.75em; +	} +	#bku_header h2 { +		font-size: 0.9em; +		margin-top: -0.45em; +		padding-top: 0.45em; +	} +	#bkulogin { +		min-height: 180px; +	} +} + +@media screen and (max-width: 299px) and (min-width: 250px) { +	#localBKU p { +		font-size: 0.9em; +	} +	#localBKU input { +		font-size: 0.8em; +		min-width: 70px; +		/*    max-width: 75px;      */ +		/*    border-radius: 6px;  */ +	} +	#bkuselectionarea input[type=button] { +		font-size: 0.85em; +		/*     min-height: 1.05em; +          border-radius: 7px;        */ +		margin-bottom: 10%; +	} +	#mandateLogin { +		font-size: 1em; +	} +	#bku_header h2 { +		font-size: 1.0em; +		margin-top: -0.50em; +		padding-top: 0.50em; +	} +} + +@media screen and (max-width: 399px) and (min-width: 300px) { +	#localBKU p { +		font-size: 0.9em; +	} +	#localBKU input { +		font-size: 0.8em; +		min-width: 70px; +		/*     max-width: 75px;     */ +		/*    border-radius: 6px;       */ +	} +	#bkuselectionarea input[type=button] { +		font-size: 0.9em; +		/*       min-height: 1.2em; +          border-radius: 8px;          */ +		margin-bottom: 10%; +		max-width: 80px; +	} +	#mandateLogin { +		font-size: 1em; +	} +	#bku_header h2 { +		font-size: 1.1em; +		margin-top: -0.55em; +		padding-top: 0.55em; +	} +} + +@media screen and (max-width: 649px) and (min-width: 400px) { +	#localBKU p { +		font-size: 0.9em; +	} +	#localBKU input { +		font-size: 0.8em; +		min-width: 70px; +		/*     max-width: 80px;       */ +		/*     border-radius: 6px;          */ +	} +	#bkuselectionarea input[type=button] { +		font-size: 1.0em; +		/*      min-height: 1.3em; +         border-radius: 10px;         */ +		margin-bottom: 10%; +		max-width: 85px; +	} +	#mandateLogin { +		font-size: 1.2em; +	} +	#bku_header h2 { +		font-size: 1.3em; +		margin-top: -0.65em; +		padding-top: 0.65em; +	} +} + +@media screen and (max-width: 649px) { +	body { +		margin: 0; +		padding: 0; +		color: #000; +		text-align: center; +		font-size: 100%; +		background-color: #MAIN_BACKGOUNDCOLOR#; +	} +	#page { +		visibility: hidden; +		margin-top: 0%; +	} +	#page1 { +		visibility: hidden; +	} +	#main { +		visibility: hidden; +	} +	#validation { +		visibility: hidden; +		display: none; +	} +	.OA_header { +		margin-bottom: 0px; +		margin-top: 0px; +		font-size: 0pt; +		visibility: hidden; +	} +	#leftcontent { +		visibility: visible; +		margin-bottom: 0px; +		text-align: left; +		border: none; +		vertical-align: middle; +		min-height: 173px; +		min-width: 204px; +	} +	#bku_header { +		height: 10%; +		min-height: 1.2em; +		margin-top: 1%; +	} +	h2#tabheader { +		padding-left: 2%; +		padding-right: 2%; +		position: relative; +		top: 50%; +	} +	#bkulogin { +		min-width: 190px; +		min-height: 155px; +	} +	.setAssertionButton_full { +		background: #efefef; +		cursor: pointer; +		margin-top: 15px; +		width: 70px; +		height: 25px; +	} +	input[type=button] { +		/*          height: 11%;  */ +		width: 70%; +	} +} + +			 +			@media screen and (max-width: 649px) { +				 +        body { +					margin:0; +					padding:0; +					color : #000; +			  	text-align: center; +          font-size: 100%; +			  	background-color: #MAIN_BACKGOUNDCOLOR#; +				} +        				 +			  #page { +			     visibility: hidden; +			     margin-top: 0%; +			  } +			   +			  #page1 { +			    visibility: hidden; +			  } +			   +			  #main { +			    visibility: hidden; +			  } +         +        #validation { +          visibility: hidden; +          display: none; +        } +			   +			  .OA_header { +			    margin-bottom: 0px; +			    margin-top: 0px; +			    font-size: 0pt; +			    visibility: hidden; +			  } +			 +			  #leftcontent { +			    visibility: visible; +			    margin-bottom: 0px; +			    text-align: left; +			    border:none; +          vertical-align: middle; +          min-height: 173px; +          min-width: 204px; +           +			  } +			   +        #bku_header { +          height: 10%; +          min-height: 1.2em; +          margin-top: 1%; +        } +         +        h2#tabheader{ +          padding-left: 2%; +          padding-right: 2%; +          position: relative; +          top: 50%; +			  } +         +       	#bkulogin {	 +          min-width: 190px; +          min-height: 155px;	 +			 } +         +			 .setAssertionButton_full { +			     	background: #efefef; +				    cursor: pointer; +				    margin-top: 15px; +			      width: 70px; +			      height: 25px; +			 } +        +        input[type=button] { +/*          height: 11%;  */ +          width: 70%; +        } +			} +			       +			* { +				margin: 0; +				padding: 0; +        font-family: #FONTTYPE#; +			} +							      			 +			#selectArea { +				padding-top: 10px; +				padding-bottom: 55px; +				padding-left: 10px; +			} +			 +			.setAssertionButton { +				background: #efefef; +				cursor: pointer; +				margin-top: 15px; +			  width: 70px; +			  height: 25px; +			} +			 +			#leftbutton  { +				width: 35%;  +				float:left;  +				margin-left: 15px; +			} +			 +			#rightbutton { +				width: 35%;  +				float:right;  +				margin-right: 25px;  +				text-align: right; +			} +			 +      #mandateLogin { +        padding-bottom: 4%; +        padding-top: 4%; +        height: 10%; +        position: relative; +        text-align: center; +			} +       +      .verticalcenter { +        vertical-align: middle; +      } +       +      #mandateLogin div { +        clear: both; +        margin-top: -1%; +        position: relative; +        top: 50%; +      } +       +      #bkuselectionarea { +          position: relative; +          display: block; +      } +       +      #localBKU { +        padding-left: 5%; +        padding-right: 2%; +        padding-bottom: 4%; +        padding-top: 4%; +        position: relative; +        clear: both;         +			} +          			 +			#bkukarte { +				float:left; +				text-align:center; +				width:40%; +        min-height: 70px; +        padding-left: 5%; +        padding-top: 2%; +			} +			 +			#bkuhandy { +				float:right; +				text-align:center; +				width:40%; +        min-height: 90px; +        padding-right: 5%; +        padding-top: 2%; +			} +			 +      .bkuimage { +        width: 90%; +        height: auto; +      } +       +			#mandate{ +				text-align:center; +				padding : 5px 5px 5px 5px; +			} +       +/*		input[type=button], .sendButton { +				background: #BUTTON_BACKGROUNDCOLOR#; +        color: #BUTTON_COLOR#; +/*				border:1px solid #000;  */ +/*				cursor: pointer; +/*        box-shadow: 3px 3px 3px #222222;  */ +/*			} +			 +/*      button:hover, button:focus, button:active,  +      .sendButton:hover , .sendButton:focus, .sendButton:active, +      #mandateCheckBox:hover, #mandateCheckBox:focus, #mandateCheckBox:active { +				background: #BUTTON_BACKGROUNDCOLOR_FOCUS#; +        color: #BUTTON_COLOR#; +/*				border:1px solid #000;                */ +/*				cursor: pointer; +/*        box-shadow: -1px -1px 3px #222222;  */ +/*			} +       +*/ +input { +	/*border:1px solid #000;*/ +	cursor: pointer; +} + +#localBKU input { +	/*        color: #BUTTON_COLOR#;  */ +	border: 0px; +	display: inline-block; +} + +#localBKU input:hover,#localBKU input:focus,#localBKU input:active { +	text-decoration: underline; +} + +#installJava,#BrowserNOK { +	clear: both; +	font-size: 0.8em; +	padding: 4px; +} + +.selectText { +	 +} + +.selectTextHeader { +	 +} + +.sendButton { +	width: 30%; +	margin-bottom: 1%; +} + +#leftcontent a { +	text-decoration: none; +	color: #000; +	/*	display:block;*/ +	padding: 4px; +} + +#leftcontent a:hover,#leftcontent a:focus,#leftcontent a:active { +	text-decoration: underline; +	color: #000; +} + +.infobutton { +	background-color: #005a00; +	color: white; +	font-family: serif; +	text-decoration: none; +	padding-top: 2px; +	padding-right: 4px; +	padding-bottom: 2px; +	padding-left: 4px; +	font-weight: bold; +} + +.hell { +	background-color: #MAIN_BACKGOUNDCOLOR#; +	color: #MAIN_COLOR#; +} + +.dunkel { +	background-color: #HEADER_BACKGROUNDCOLOR#; +	color: #HEADER_COLOR#; +} + +.main_header { +	color: black; +	font-size: 32pt; +	position: absolute; +	right: 10%; +	top: 40px; +} +</style> +<!-- MOA-ID 2.x BKUSelection JavaScript fucnctions--> +<script type="text/javascript"> +		function isIE() { +			return (/MSIE (\d+\.\d+);/.test(navigator.userAgent)); +		} +		function isFullscreen() { +			try { +				return ((top.innerWidth == screen.width) && (top.innerHeight == screen.height)); +			} catch (e) { +				return false; +			} +		} +		function isActivexEnabled() { +			var supported = null; +			try { +				supported = !!new ActiveXObject("htmlfile"); +			} catch (e) { +				supported = false; +			} +			return supported; +		} +		function isMetro() { +			if (!isIE()) +				return false; +			return !isActivexEnabled() && isFullscreen(); +		} +		window.onload=function() { +			document.getElementById("localBKU").style.display="block"; +			return; +		} +		function bkuOnlineClicked() { +			if (isMetro()) +				document.getElementById("metroDetected").style.display="block"; +			document.getElementById("localBKU").style.display="block"; +/* 			if (checkMandateSSO()) +				return; */ +			 +			setMandateSelection(); +/* 			setSSOSelection(); */ +						 +			var iFrameURL = "#AUTH_URL#" + "?"; +			iFrameURL += "bkuURI=" + "#ONLINE#"; +			iFrameURL += "&useMandate=" + document.getElementById("useMandate").value; +/* 			iFrameURL += "&SSO=" + document.getElementById("useSSO").value; */ +			iFrameURL += "&MODUL=" + "#MODUL#"; +			iFrameURL += "&ACTION=" + "#ACTION#"; +			iFrameURL += "&MOASessionID=" + "#SESSIONID#"; +			generateIFrame(iFrameURL); +		} +		function bkuHandyClicked() { +			document.getElementById("localBKU").style.display="none"; +/* 			if (checkMandateSSO()) +				return; */ +			 +			setMandateSelection(); +/* 			setSSOSelection(); */ +			 +			var iFrameURL = "#AUTH_URL#" + "?"; +			iFrameURL += "bkuURI=" + "#HANDY#"; +			iFrameURL += "&useMandate=" + document.getElementById("useMandate").value; +/* 			iFrameURL += "&SSO=" + document.getElementById("useSSO").value; */ +			iFrameURL += "&MODUL=" + "#MODUL#"; +			iFrameURL += "&ACTION=" + "#ACTION#"; +			iFrameURL += "&MOASessionID=" + "#SESSIONID#"; +			generateIFrame(iFrameURL); +		} +		function storkClicked() { +			document.getElementById("localBKU").style.display="none";  +/* 			if (checkMandateSSO()) +				return; */ +			 +			setMandateSelection(); +/* 			setSSOSelection(); */ +			 +			var ccc = "AT"; +			var countrySelection = document.getElementById("cccSelection"); +			if (countrySelection !=  null) { +				ccc = document.getElementById("cccSelection").value; +			} +			var iFrameURL = "#AUTH_URL#" + "?"; +			iFrameURL += "bkuURI=" + "#ONLINE#"; +			iFrameURL += "&useMandate=" + document.getElementById("useMandate").value; +			iFrameURL += "&CCC=" + ccc; +/* 			iFrameURL += "&SSO=" + document.getElementById("useSSO").value; */ +			iFrameURL += "&MODUL=" + "#MODUL#"; +			iFrameURL += "&ACTION=" + "#ACTION#"; +			iFrameURL += "&MOASessionID=" + "#SESSIONID#"; +			generateIFrame(iFrameURL); +		} +		function generateIFrame(iFrameURL) { +			var el = document.getElementById("bkulogin"); +      var width = el.clientWidth; +      var heigth = el.clientHeight - 20; +			var parent = el.parentNode; +             +      iFrameURL += "&heigth=" + heigth; +      iFrameURL += "&width=" + width; +       +			var iframe = document.createElement("iframe"); +			iframe.setAttribute("src", iFrameURL); +			iframe.setAttribute("width", el.clientWidth - 1); +			iframe.setAttribute("height", el.clientHeight - 1); +			iframe.setAttribute("frameborder", "0"); +			iframe.setAttribute("scrolling", "no"); +			iframe.setAttribute("title", "Login"); +			parent.replaceChild(iframe, el); +		} +		function setMandateSelection() { +			document.getElementById("moaidform").action = "#AUTH_URL#"; +			document.getElementById("useMandate").value = "false"; +			var checkbox = document.getElementById("mandateCheckBox"); +			if (checkbox !=  null) { +				if (document.getElementById("mandateCheckBox").checked) { +					document.getElementById("useMandate").value = "true"; +				} +			} +		} +		function onChangeChecks() { +      if (top.innerWidth < 650) { +         document.getElementById("moaidform").setAttribute("target","_parent"); +      } else { +         document.getElementById("moaidform").removeAttribute("target"); +      } +       +    } +/* 		function setSSOSelection() { +			document.getElementById("useSSO").value = "false"; +			var checkbox = document.getElementById("SSOCheckBox"); +			if (checkbox !=  null) { +				if (document.getElementById("SSOCheckBox").checked) { +					document.getElementById("useSSO").value = "true"; +				} +			} +		} */ +		 +/* 		function checkMandateSSO() { +			var sso = document.getElementById("SSOCheckBox"); +			var mandate = document.getElementById("mandateCheckBox"); +			 +			 +			if (sso.checked && mandate.checked) { +				alert("Anmeldung in Vertretung in kombination mit Single Sign-On wird aktuell noch nicht unterstützt!") +				mandate.checked = false; +				sso.checked = false; +				return true; +			} else { +				return false; +			} +		} */ +	</script> +<title>Anmeldung mittels Bürgerkarte oder Handy-Signatur</title> +</head> +<body onload="onChangeChecks();" onresize="onChangeChecks();"> +	<div id="page"> +		<div id="page1" class="case selected-case" role="main"> +			<h2 class="OA_header" role="heading">Anmeldung an: #OAName#</h2> +			<div id="main"> +				<div id="leftcontent" class="hell" role="application"> +					<div id="bku_header" class="dunkel"> +						<h2 id="tabheader" class="dunkel" role="heading">#HEADER_TEXT#</h2> +					</div> +					<div id="bkulogin" class="hell" role="form"> +						<div id="mandateLogin" style=""> +							<div> +								<input tabindex="1" type="checkbox" name="Mandate" +									id="mandateCheckBox" class="verticalcenter" role="checkbox" +									onClick='document.getElementById("mandateCheckBox").setAttribute("aria-checked", document.getElementById("mandateCheckBox").checked);'#MANDATECHECKED#> +								<label for="mandateCheckBox" class="verticalcenter">in +									Vertretung anmelden</label> +								<!--a      href="info_mandates.html"  +                        target="_blank" +                        class="infobutton verticalcenter"  +                        tabindex="5">i</a--> +							</div> +						</div> +						<div id="bkuselectionarea"> +							<div id="bkukarte"> +								<img class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png" +									alt="OnlineBKU" /> <input name="bkuButtonOnline" type="button" +									onClick="bkuOnlineClicked();" tabindex="2" role="button" +									value="Karte" /> +							</div> +							<div id="bkuhandy"> +								<img class="bkuimage" src="#CONTEXTPATH#/img/mobile-bku.png" +									alt="HandyBKU" /> <input name="bkuButtonHandy" type="button" +									onClick="bkuHandyClicked();" tabindex="3" role="button" +									value="HANDY" /> +							</div> +						</div> +						<div id="localBKU"> +							<form method="get" id="moaidform" action="#AUTH_URL#" +								class="verticalcenter" target="_parent"> +								<input type="hidden" name="bkuURI" value="#LOCAL#"> <input +									type="hidden" name="useMandate" id="useMandate"> <input +									type="hidden" name="SSO" id="useSSO"> <input +									type="hidden" name="CCC" id="ccc"> <input type="hidden" +									name="MODUL" value="#MODUL#"> <input type="hidden" +									name="ACTION" value="#ACTION#"> <input type="hidden" +									name="MOASessionID" value="#SESSIONID#"> <input +									type="submit" value=">lokale Bürgerkartenumgebung" tabindex="4" +									role="button" class="hell"> +								<!--p> +                    <small>Alternativ können Sie eine lokal installierte BKU verwenden.</small>								                                   +                  </p-->								                                   +                </form>								                                                           +              </div> +              <div id="stork" align="center" style="#STORKVISIBLE#"> +                <h2 id="tabheader" class="dunkel">Home Country Selection</h2> +                <p> +                  <select name="cccSelection" id="cccSelection" size="1" style="width: 120px; margin-right: 5px;" > +                    <option value="BE">België/Belgique</option> +                    <option value="EE">Eesti</option> +                    <option value="ES">España</option> +                    <option value="IS">Ísland</option> +                    <option value="IT">Italia</option> +                    <option value="LI">Liechtenstein</option> +                    <option value="LT">Lithuania</option> +                    <option value="PT">Portugal</option> +                    <option value="SI">Slovenija</option> +                    <option value="FI">Suomi</option> +                    <option value="SE">Sverige</option> +                  </select> +                  <button name="bkuButton" type="button" onClick="storkClicked();">Proceed</button> +                  <a href="info_stork.html" target="_blank" class="infobutton" style="color:#FFF">i</a> +                </p> +              </div> + +						<div id="metroDetected" style="display: none"> +							<p>Anscheinend verwenden Sie Internet Explorer im +								Metro-Modus. Wählen Sie bitte "Auf dem Desktop anzeigen" aus den +								Optionen um die Karten-Anmeldung starten zu können.</p> +						</div> +					</div> +				</div> +			</div> +		</div> +		<div id="validation"> +			<a href="http://validator.w3.org/check?uri="> <img +				style="border: 0; width: 88px; height: 31px" +				src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" /> +			</a> <a href="http://jigsaw.w3.org/css-validator/"> <img +				style="border: 0; width: 88px; height: 31px" +				src="http://jigsaw.w3.org/css-validator/images/vcss-blue" +				alt="CSS ist valide!" /> +			</a> +		</div> +	</div> +</body> +</html>
\ No newline at end of file diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/QAALevelVerifier.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/QAALevelVerifier.java new file mode 100644 index 000000000..88a64bd07 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/QAALevelVerifier.java @@ -0,0 +1,43 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.util; + +import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants; +import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.QAANotAllowedException; + +/** + * @author tlenz + * + */ +public class QAALevelVerifier { + +	public static void verifyQAALevel(String qaaAuth, String qaaRequest) throws QAANotAllowedException { +		 +		Integer qaaA = Integer.valueOf(qaaAuth.substring(PVPConstants.STORK_QAA_PREFIX.length())); +		Integer qaaR = Integer.valueOf(qaaRequest.substring(PVPConstants.STORK_QAA_PREFIX.length())); +		 +		if (qaaA < qaaR) +			throw new QAANotAllowedException(qaaAuth, qaaRequest); +		 +	} +} | 
