/* * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology. * * Licensed under the EUPL, Version 1.2 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: * https://joinup.ec.europa.eu/news/understanding-eupl-v12 * * 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.egiz.eaaf.core.api.idp.auth.data; import java.util.Date; import java.util.Map; import at.gv.egiz.eaaf.core.exceptions.EaafStorageException; public interface IAuthProcessDataContainer { /** * Returns the issuing time of the AUTH-Block SAML assertion. * * @return The issuing time of the AUTH-Block SAML assertion. */ Date getIssueInstant(); /** * Returns the issuing time of the AUTH-Block SAML assertion. * *

{@link String} representation uses pattern: * yyyy-MM-dd'T'HH:mm:ss'Z'

* * @return The issuing time of the AUTH-Block SAML assertion. */ String getIssueInstantString(); /** * Sets the issuing time of the AUTH-Block SAML assertion. * * @param issueInstant The issueInstant with pattern: * yyyy-MM-dd'T'HH:mm:ss'Z' to set. */ void setIssueInstant(String issueInstant); /** * Sets the issuing time of the AUTH-Block SAML assertion. * * @param issueInstant The issueInstant to set. */ void setIssueInstant(Date issueInstant); /** * Indicate if the authentication process is finished. * * @return */ boolean isAuthenticated(); /** * Mark the authentication as authenticated, which means that the authenication * process is completed. * * @param authenticated If true, the authentication-process is marked as finished */ void setAuthenticated(boolean authenticated); /** * Returns the identityLink. * * @return IdentityLink */ @Deprecated IIdentityLink getIdentityLink(); /** * Sets the identityLink. * * @param identityLink The identityLink to set */ @Deprecated void setIdentityLink(IIdentityLink identityLink); /** * Flag marks the authentication process as new E-ID process. * * @return true if E-ID process, otherwise false */ boolean isEidProcess(); /** * Set the flag to make the process as new E-ID process. * * @param value true if new E-ID process, otherwise false */ void setEidProcess(boolean value); /** * Indicate that mandates was used in this auth. process * * @return */ boolean isMandateUsed(); /** * Mark that mandates was used in this auth. process * * @param useMandates true, if mandates are used */ void setUseMandates(boolean useMandates); /** * Indicate that the auth. process was performed by a foreigner * * @return */ boolean isForeigner(); /** * Mark that the auth. process was done by a foreigner * * @param isForeigner true, if citizenn is a foreigner */ void setForeigner(boolean isForeigner); /** * Indicate that the auth. process was performed by an official representatives * * @return is official representatives */ boolean isOW(); /** * Mark that the auth. process was done by an official representatives * * @param isOW Mark this data as Organwalter * */ void setOW(boolean isOW); /** * eIDAS QAA level. * * @return the qAALevel */ String getQaaLevel(); /** * set QAA level in eIDAS form. * * @param qaaLevel the qAALevel to set */ void setQaaLevel(String qaaLevel); /** * Get Timestamp when session was created. * * @return the sessionCreated */ Date getSessionCreated(); Map 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 * @param Response class type * @return The session-data object or null if no data is found with this key */ T getGenericDataFromSession(String key, Class 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 EaafStorageException Error message if the data-object can not stored * to generic session-data storage */ void setGenericDataToSession(String key, Object object) throws EaafStorageException; }