diff options
Diffstat (limited to 'eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/api/IPvp2BasicConfiguration.java')
-rw-r--r-- | eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/api/IPvp2BasicConfiguration.java | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/api/IPvp2BasicConfiguration.java b/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/api/IPvp2BasicConfiguration.java new file mode 100644 index 00000000..a54eb0b8 --- /dev/null +++ b/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/api/IPvp2BasicConfiguration.java @@ -0,0 +1,109 @@ +/* + * 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.modules.pvp2.api; + +import java.util.List; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import at.gv.egiz.eaaf.core.api.idp.IConfiguration; +import at.gv.egiz.eaaf.core.exceptions.EaafException; + +import org.opensaml.saml.saml2.metadata.ContactPerson; +import org.opensaml.saml.saml2.metadata.Organization; + +/** + * Basic SAML2 configuration object that provide information for SAML2 metadata. + * + * @author tlenz + * + */ +public interface IPvp2BasicConfiguration { + + /** + * SAML2 EntityId. + * + * @param authUrl The Public-URL prefix of the application that always ends without / + * @return EntityId + * @throws EaafException In case of an error. + */ + @Nonnull + String getIdpEntityId(@Nonnull String authUrl) throws EaafException; + + /** + * Authentication end-point for POST-Binding in case of an IDP. + * + * @param authUrl The Public-URL prefix of the application that always ends without / + * @return IDP SSO endpoint + * @throws EaafException In case of an error. + */ + @Nullable + String getIdpSsoPostService(@Nonnull String authUrl) throws EaafException; + + /** + * Authentication end-point for POST-Redirect in case of an IDP. + * + * @param authUrl The Public-URL prefix of the application that always ends without / + * @return IDP SSO endpoint + * @throws EaafException In case of an error. + */ + @Nullable + String getIdpSsoRedirectService(@Nonnull String authUrl) throws EaafException; + + /** + * Authentication end-point for POST-SOAP in case of an IDP. + * + * @param authUrl The Public-URL prefix of the application that always ends without / + * @return IDP SSO endpoint + * @throws EaafException In case of an error. + */ + @Nullable + String getIdpSsoSoapService(@Nonnull String authUrl) throws EaafException; + + /** + * Contact information for SAML2 Metadata. + * + * @return SAML2 Contact object + * @throws EaafException In case of an error. + */ + @Nonnull + List<ContactPerson> getIdpContacts() throws EaafException; + + /** + * Organization information for SAML2 Metadata. + * + * @return SAML2 Organization object + * @throws EaafException In case of an error. + */ + @Nonnull + Organization getIdpOrganisation() throws EaafException; + + /** + * Get the basic {@link IConfiguration} object that was + * used to generate this {@link IPvp2BasicConfiguration}. + * + * @return Basic application configuration + */ + @Nonnull + IConfiguration getBasicConfiguration(); + + +} |