/******************************************************************************* * Copyright 2017 Graz University of Technology * EAAF-Core Components has been developed in a cooperation between EGIZ, * A-SIT+, 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. */ String getIssueInstant(); /** * Sets the issuing time of the AUTH-Block SAML assertion. * * @param issueInstant * The issueInstant to set. */ void setIssueInstant(String 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 */ void setAuthenticated(boolean authenticated); /** * Returns the identityLink. * * @return IdentityLink */ IIdentityLink getIdentityLink(); /** * Sets the identityLink. * * @param identityLink * The identityLink to set */ void setIdentityLink(IIdentityLink identityLink); /** * Indicate that mandates was used in this auth. process * * @return */ boolean isMandateUsed(); /** * Mark that mandates was used in this auth. process * * @param useMandates */ 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 */ 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 * */ 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); /** * @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 * @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; }