package at.asitplus.eidas.specific.modules.auth.idaustria.config; import java.util.List; import org.opensaml.saml.saml2.core.AuthnContextComparisonTypeEnumeration; import org.opensaml.saml.saml2.core.NameIDType; import org.opensaml.saml.saml2.metadata.EntityDescriptor; import org.w3c.dom.Element; import at.asitplus.eidas.specific.modules.auth.idaustria.IdAustriaAuthConstants; import at.gv.egiz.eaaf.modules.pvp2.api.credential.EaafX509Credential; import at.gv.egiz.eaaf.modules.pvp2.api.reqattr.EaafRequestedAttribute; import at.gv.egiz.eaaf.modules.pvp2.sp.api.IPvpAuthnRequestBuilderConfiguruation; /** * ID Austria client-specific implementation of an {@link IPvpAuthnRequestBuilderConfiguruation}. * * @author tlenz * */ public class IdAustriaAuthRequestBuilderConfiguration implements IPvpAuthnRequestBuilderConfiguruation { private boolean isPassive; private String spEntityId; private String qaaLevel; private EntityDescriptor idpEntity; private EaafX509Credential signCred; private String scopeRequesterId; private String providerName; private List requestedAttributes; private String reqId; /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#isPassivRequest() */ @Override public Boolean isPassivRequest() { return this.isPassive; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getAssertionConsumerServiceId() */ @Override public Integer getAssertionConsumerServiceId() { return 0; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getEntityID() */ @Override public String getSpEntityID() { return this.spEntityId; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getNameIDPolicy() */ @Override public String getNameIdPolicyFormat() { return NameIDType.PERSISTENT; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getNameIDPolicy() */ @Override public boolean getNameIdPolicyAllowCreation() { return true; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getAuthnContextClassRef() */ @Override public String getAuthnContextClassRef() { return this.qaaLevel; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getAuthnContextComparison() */ @Override public AuthnContextComparisonTypeEnumeration getAuthnContextComparison() { return AuthnContextComparisonTypeEnumeration.MINIMUM; } /** * Set isPassive flag in SAML2 request. * * @param isPassive the isPassive to set. */ public void setPassive(boolean isPassive) { this.isPassive = isPassive; } /** * Set the requester EntityId. * * @param spEntityId EntityId of SP */ public void setSpEntityID(String spEntityId) { this.spEntityId = spEntityId; } /** * Set required LoA. * * @param loa the LoA to set. */ public void setRequestedLoA(String loa) { qaaLevel = loa; } /** * Set EntityId of IDP. * * @param idpEntity the idpEntity to set. */ public void setIdpEntity(EntityDescriptor idpEntity) { this.idpEntity = idpEntity; } /** * Set message signing credentials. * * @param signCred the signCred to set. */ public void setSignCred(EaafX509Credential signCred) { this.signCred = signCred; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getAuthnRequestSigningCredential() */ @Override public EaafX509Credential getAuthnRequestSigningCredential() { return this.signCred; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getIDPEntityDescriptor() */ @Override public EntityDescriptor getIdpEntityDescriptor() { return this.idpEntity; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getSubjectNameID() */ @Override public String getSubjectNameID() { return null; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getSPNameForLogging() */ @Override public String getSpNameForLogging() { return IdAustriaAuthConstants.MODULE_NAME_FOR_LOGGING; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getSubjectNameIDFormat() */ @Override public String getSubjectNameIdFormat() { return null; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getRequestID() */ @Override public String getRequestID() { return this.reqId; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getSubjectNameIDQualifier() */ @Override public String getSubjectNameIdQualifier() { return null; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getSubjectConformationMethode() */ @Override public String getSubjectConformationMethode() { return null; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.protocols.pvp2x.config. * IPVPAuthnRequestBuilderConfiguruation#getSubjectConformationDate() */ @Override public Element getSubjectConformationDate() { return null; } @Override public List getRequestedAttributes() { return this.requestedAttributes; } @Override public String getProviderName() { return this.providerName; } @Override public String getScopeRequesterId() { return this.scopeRequesterId; } /** * Set the entityId of the SP that requests the proxy for eIDAS authentication. * * @param scopeRequesterId RequestId in SAML2 Proxy extension */ public void setScopeRequesterId(String scopeRequesterId) { this.scopeRequesterId = scopeRequesterId; } /** * Set a friendlyName for the SP that requests the proxy for eIDAS * authentication. * * @param providerName SAML2 provider-name attribute-value */ public void setProviderName(String providerName) { this.providerName = providerName; } /** * Set a Set of PVP attributes that a requested by using requested attributes. * * @param requestedAttributes Requested SAML2 attributes */ public void setRequestedAttributes(List requestedAttributes) { this.requestedAttributes = requestedAttributes; } /** * Set a RequestId for this Authn. Request. * * @param reqId SAML2 message requestId */ public void setRequestId(String reqId) { this.reqId = reqId; } }