/******************************************************************************* * 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. ******************************************************************************/ /* * Copyright 2003 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; /** * A SAML-Attribute to be appended to the final SAML-Assertion * that will be passed to the online application. */ public interface ExtendedSAMLAttribute { /** * Add this attribute only to the SAML-Assertion * passed to the online application, but not to * the AUTH-Block. */ public final static int NOT_ADD_TO_AUTHBLOCK = 0; /** * Add this attribute to both, the AUTH-Block and the * final SAML-Assertion passed to the online application. */ public final static int ADD_TO_AUTHBLOCK = 1; /** * Add this attribute to only the AUTH-Block, but not * to the final SAML-Assertion passed to the online application. */ public final static int ADD_TO_AUTHBLOCK_ONLY = 2; /** * The value of the SAML-Attribute. This must be either a * org.w3c.Element or a java.lang.String * object. Each other type will be ignored.
* If, for example, the type of the actual SAML-Attribute is a * <xsd:boolean> the value must be either the String * "true" or "false". * Or the <xsd:integer> number 273 * has to be the String "273". * * @return The value of the SAML-Attribute. Must not be null. */ public Object getValue(); /** * The name of the SAML-Attribute. * * @return The name of the SAML-Attribute. Must not be null. */ public String getName(); /** * The namespace of the SAML-Attribute. * An application will use the context specific namespace URI for the attribute it returns. * However, if the application cannot explicitely assign a namespace URI, the * {@link at.gv.egovernment.moa.util.Constants#MOA_NS_URI default} MOA namespace URI * should be used. * * @return The namespace of the SAML-Attribute. Must not be null. */ public String getNameSpace(); /** * Specifies if this SAML-Attribute should be added to the AUTH-Block. *
* Depending on the returned value, this SAML-Attribute should be only added to the * final SAML-Assertion passed to the online application (0), to both, the final * assertion and the AUTH-Block (1) or to the AUTH-Block only (2). * * @return */ public int getAddToAUTHBlock(); }