/*
* 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.List;
import java.util.Map;
import at.gv.egiz.eaaf.core.api.idp.auth.data.IAuthProcessDataContainer;
import iaik.x509.X509Certificate;
/**
* @author tlenz
*
*/
public interface IAuthenticationSession extends IAuthProcessDataContainer {
X509Certificate getSignerCertificate();
byte[] getEncodedSignerCertificate();
void setSignerCertificate(X509Certificate signerCertificate);
/**
* Returns the sessionID.
*
* @return String
*/
String getSSOSessionID();
/**
* Sets the sessionID.
*
* @param sessionId
* The sessionID to set
*/
void setSSOSessionID(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 null
.
*
* @return The SAML Attributes to be appended to the AUTHBlock. Maybe null
.
*/
List 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 extendedSAMLAttributesAUTH);
/**
* Returns the SAML Attributes to be appended to the SAML assertion delivered to the online
* application. Maybe null
.
*
* @return The SAML Attributes to be appended to the SAML assertion delivered to the online
* application
*/
List 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 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);
/**
*
* @param useMandate
* indicates if mandate is used or not
*/
void setUseMandate(String useMandate);
/**
*
* @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);
IVerifiyXMLSignatureResponse getXMLVerifySignatureResponse();
void setXMLVerifySignatureResponse(IVerifiyXMLSignatureResponse xMLVerifySignatureResponse);
IMISMandate getMISMandate();
void setMISMandate(IMISMandate mandate);
/**
* @return the authBlockTokken
*/
String getAuthBlockTokken();
/**
* @param authBlockTokken
* the authBlockTokken to set
*/
void setAuthBlockTokken(String authBlockTokken);
/**
* Generates a Key / Value representation from Authenticated session
*
* @return A read-only version of all session information
*/
public Map getKeyValueRepresentationFromAuthSession();
}