aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java')
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java296
1 files changed, 296 insertions, 0 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java
new file mode 100644
index 000000000..8bffceaed
--- /dev/null
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java
@@ -0,0 +1,296 @@
+/*
+ * 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.commons.api.data;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import at.gv.egovernment.moa.id.commons.api.exceptions.SessionDataStorageException;
+import iaik.x509.X509Certificate;
+
+/**
+ * @author tlenz
+ *
+ */
+public interface IAuthenticationSession {
+
+ boolean isAuthenticated();
+
+ void setAuthenticated(boolean authenticated);
+
+ X509Certificate getSignerCertificate();
+
+ byte[] getEncodedSignerCertificate();
+
+ void setSignerCertificate(X509Certificate signerCertificate);
+
+ /**
+ * Returns the identityLink.
+ *
+ * @return IdentityLink
+ */
+ IIdentityLink getIdentityLink();
+
+ /**
+ * Returns the sessionID.
+ *
+ * @return String
+ */
+ String getSessionID();
+
+ /**
+ * Sets the identityLink.
+ *
+ * @param identityLink
+ * The identityLink to set
+ */
+ void setIdentityLink(IIdentityLink identityLink);
+
+ /**
+ * Sets the sessionID.
+ *
+ * @param sessionId
+ * The sessionID to set
+ */
+ void setSessionID(String sessionId);
+
+ /**
+ * Returns the BKU URL.
+ *
+ * @return String
+ */
+ String getBkuURL();
+
+ /**
+ * Sets the bkuURL
+ *
+ * @param bkuURL
+ * The BKU URL to set
+ */
+ void setBkuURL(String bkuURL);
+
+ /**
+ * Returns the authBlock.
+ *
+ * @return String
+ */
+ String getAuthBlock();
+
+ /**
+ * Sets the authBlock.
+ *
+ * @param authBlock
+ * The authBlock to set
+ */
+ void setAuthBlock(String authBlock);
+
+ /**
+ * Returns the SAML Attributes to be appended to the AUTHBlock. Maybe <code>null</code>.
+ *
+ * @return The SAML Attributes to be appended to the AUTHBlock. Maybe <code>null</code>.
+ */
+ List<ExtendedSAMLAttribute> getExtendedSAMLAttributesAUTH();
+
+ /**
+ * Sets the SAML Attributes to be appended to the AUTHBlock.
+ *
+ * @param extendedSAMLAttributesAUTH
+ * The SAML Attributes to be appended to the AUTHBlock.
+ */
+ void setExtendedSAMLAttributesAUTH(List<ExtendedSAMLAttribute> extendedSAMLAttributesAUTH);
+
+ /**
+ * Returns the SAML Attributes to be appended to the SAML assertion delivered to the online
+ * application. Maybe <code>null</code>.
+ *
+ * @return The SAML Attributes to be appended to the SAML assertion delivered to the online
+ * application
+ */
+ List<ExtendedSAMLAttribute> getExtendedSAMLAttributesOA();
+
+ /**
+ * Sets the SAML Attributes to be appended to the SAML assertion delivered to the online
+ * application.
+ *
+ * @param extendedSAMLAttributesOA
+ * The SAML Attributes to be appended to the SAML assertion delivered to the online
+ * application.
+ */
+ void setExtendedSAMLAttributesOA(List<ExtendedSAMLAttribute> extendedSAMLAttributesOA);
+
+ /**
+ * Returns the boolean value for either a target or a wbPK is provided as SAML Attribute in the
+ * SAML Assertion or not.
+ *
+ * @return true either a target or a wbPK is provided as SAML Attribute in the SAML Assertion or
+ * false if not.
+ */
+ boolean getSAMLAttributeGebeORwbpk();
+
+ /**
+ * Sets the boolean value for either a target or a wbPK is provided as SAML Attribute in the
+ * SAML Assertion or not.
+ *
+ * @param samlAttributeGebeORwbpk
+ * The boolean for value either a target or wbPK is provided as SAML Attribute in the
+ * SAML Assertion or not.
+ */
+ void setSAMLAttributeGebeORwbpk(boolean samlAttributeGebeORwbpk);
+
+ /**
+ * Returns the issuing time of the AUTH-Block SAML assertion.
+ *
+ * @return The issuing time of the AUTH-Block SAML assertion.
+ */
+ String getIssueInstant();
+
+ /**
+ * Sets the issuing time of the AUTH-Block SAML assertion.
+ *
+ * @param issueInstant
+ * The issueInstant to set.
+ */
+ void setIssueInstant(String issueInstant);
+
+ /**
+ *
+ * @param useMandate
+ * indicates if mandate is used or not
+ */
+ void setUseMandate(String useMandate);
+
+ void setUseMandates(boolean useMandates);
+
+ /**
+ * @return
+ */
+ boolean isMandateUsed();
+
+ /**
+ *
+ * @param misSessionID
+ * indicates the MIS session ID
+ */
+ void setMISSessionID(String misSessionID);
+
+ /**
+ * Returns the MIS session ID
+ *
+ * @return
+ */
+ String getMISSessionID();
+
+ /**
+ * @return the mandateReferenceValue
+ */
+ String getMandateReferenceValue();
+
+ /**
+ * @param mandateReferenceValue
+ * the mandateReferenceValue to set
+ */
+ void setMandateReferenceValue(String mandateReferenceValue);
+
+ boolean isForeigner();
+
+ void setForeigner(boolean isForeigner);
+
+ IVerifiyXMLSignatureResponse getXMLVerifySignatureResponse();
+
+ void setXMLVerifySignatureResponse(IVerifiyXMLSignatureResponse xMLVerifySignatureResponse);
+
+ IMISMandate getMISMandate();
+
+ void setMISMandate(IMISMandate mandate);
+
+ /**
+ * @return the isOW
+ */
+ boolean isOW();
+
+ /**
+ * @param isOW
+ * the isOW to set
+ */
+ void setOW(boolean isOW);
+
+ /**
+ * @return the authBlockTokken
+ */
+ String getAuthBlockTokken();
+
+ /**
+ * @param authBlockTokken
+ * the authBlockTokken to set
+ */
+ void setAuthBlockTokken(String authBlockTokken);
+
+ /**
+ * eIDAS QAA level
+ *
+ * @return the qAALevel
+ */
+ String getQAALevel();
+
+ /**
+ * set QAA level in eIDAS form
+ *
+ * @param qAALevel the qAALevel to set
+ */
+ void setQAALevel(String qAALevel);
+
+ /**
+ * @return the sessionCreated
+ */
+ Date getSessionCreated();
+
+ Map<String, Object> getGenericSessionDataStorage();
+
+ /**
+ * Returns a generic session-data object with is stored with a specific identifier
+ *
+ * @param key The specific identifier of the session-data object
+ * @return The session-data object or null if no data is found with this key
+ */
+ Object getGenericDataFromSession(String key);
+
+ /**
+ * Returns a generic session-data object with is stored with a specific identifier
+ *
+ * @param key The specific identifier of the session-data object
+ * @param clazz The class type which is stored with this key
+ * @return The session-data object or null if no data is found with this key
+ */
+ <T> T getGenericDataFromSession(String key, Class<T> clazz);
+
+ /**
+ * Store a generic data-object to session with a specific identifier
+ *
+ * @param key Identifier for this data-object
+ * @param object Generic data-object which should be stored. This data-object had to be implement the 'java.io.Serializable' interface
+ * @throws SessionDataStorageException Error message if the data-object can not stored to generic session-data storage
+ */
+ void setGenericDataToSession(String key, Object object) throws SessionDataStorageException;
+
+} \ No newline at end of file