diff options
Diffstat (limited to 'id/server')
3 files changed, 26 insertions, 22 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java index 896feed9e..2a6bde1e8 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java @@ -220,6 +220,8 @@ public class AuthenticationSession implements Serializable {  	 */  	private STORKAuthnRequest storkAuthnRequest; +	private String storkAuthnResponse; +	  	// private AuthenticationData authData;  	// protocol selection @@ -1022,6 +1024,21 @@ public class AuthenticationSession implements Serializable {  		QAALevel = qAALevel;  	} +	/** +	 * @return the storkAuthnResponse +	 */ +	public String getStorkAuthnResponse() { +		return storkAuthnResponse; +	} + +	/** +	 * @param storkAuthnResponse the storkAuthnResponse to set +	 */ +	public void setStorkAuthnResponse(String storkAuthnResponse) { +		this.storkAuthnResponse = storkAuthnResponse; +	} + +	  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java index b356c6f35..8091c5e71 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java @@ -320,6 +320,9 @@ public class PEPSConnectorServlet extends AuthServlet {  			Logger.debug("Adding addtional STORK attributes to MOA session");
  			moaSession.setStorkAttributes(authnResponse.getPersonalAttributeList());
 +			Logger.debug("Add full STORK AuthnResponse to MOA session");
 +			moaSession.setStorkAuthnResponse(request.getParameter("SAMLResponse"));
 +			
  			//We don't have BKUURL, setting from null to "Not applicable"
  			moaSession.setBkuURL("Not applicable (STORK Authentication)");
 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 index e3e33d6db..e8fba6af2 100644 --- 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 @@ -22,15 +22,12 @@   *******************************************************************************/  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; +import at.gv.egovernment.moa.util.MiscUtil;  public class EIDSTORKTOKEN implements IPVPAttributeBuilder  { @@ -46,27 +43,14 @@ public class EIDSTORKTOKEN implements IPVPAttributeBuilder  {  			throw new UnavailableAttributeException(EID_STORK_TOKEN_NAME);  		} else { -			IPersonalAttributeList storkAttributes = authSession.getStorkAttributes(); -			 -			if ( storkAttributes == null ) { +			String storkResponse = authSession.getStorkAuthnResponse(); +						 +			if ( MiscUtil.isEmpty(storkResponse) ) {  				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); +			} else {				 +				return g.buildStringAttribute(EID_STORK_TOKEN_FRIENDLY_NAME, EID_STORK_TOKEN_NAME, storkResponse); -			} catch (Exception e) { -				Logger.warn("Attribut " + EID_STORK_TOKEN_FRIENDLY_NAME + " generation error", e); -				throw new UnavailableAttributeException(EID_STORK_TOKEN_NAME);  			}  		}  	} | 
