/* * Copyright 2005 University Corporation for Advanced Internet Development, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.opensaml.saml2.core; import java.util.List; import javax.xml.namespace.QName; import org.opensaml.common.SAMLObject; import org.opensaml.common.xml.SAMLConstants; /** SAML 2.0 Core AuthnContext. */ public interface AuthnContext extends SAMLObject { /** Local Name of AuthnContext. */ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "AuthnContext"; /** Default element name. */ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAMLConstants.SAML20_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20_PREFIX); /** Local name of the XSI type. */ public static final String TYPE_LOCAL_NAME = "AuthnContextType"; /** QName of the XSI type. */ public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20_NS, TYPE_LOCAL_NAME, SAMLConstants.SAML20_PREFIX); /** URI for Internet Protocol authentication context. */ public static final String IP_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol"; /** URI for Internet Protocol Password authentication context. */ public static final String IP_PASSWORD_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword"; /** URI for Kerberos authentication context. */ public static final String KERBEROS_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos"; /** URI for Mobile One Factor Unregistered authentication context. */ public static final String MOFU_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered"; /** URI for Mobile Two Factor Unregistered authentication context. */ public static final String MTFU = "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered"; /** URI for Mobile One Factor Contract authentication context. */ public static final String MOFC_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract"; /** URI for Mobile Two Factor Contract authentication context. */ public static final String MTFC_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract"; /** URI for Password authentication context. */ public static final String PASSWORD_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:Password"; /** URI for Password Protected Transport authentication context. */ public static final String PPT_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"; /** URI for Previous Session authentication context. */ public static final String PREVIOUS_SESSION_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession"; /** URI for X509 Public Key authentication context. */ public static final String X509_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:X509"; /** URI for PGP authentication context. */ public static final String PGP_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:PGP"; /** URI for SPKI authentication context. */ public static final String SPKI_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI"; /** URI for XML Digital Signature authentication context. */ public static final String XML_DSIG_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig"; /** URI for Smart Card authentication context. */ public static final String SMARTCARD_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard"; /** URI for Smart Card PKI authentication context. */ public static final String SMARTCARD_PKI_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI"; /** URI for Software PKU authentication context. */ public static final String SOFTWARE_PKI_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI"; /** URI for Telephony authentication context. */ public static final String TELEPHONY_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony"; /** URI for Nomadic Telephony authentication context. */ public static final String NOMAD_TELEPHONY_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony"; /** URI for Personalized Telephony authentication context. */ public static final String PERSONAL_TELEPHONY_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalTelephony"; /** URI for Authenticated Telephony authentication context. */ public static final String AUTHENTICATED_TELEPHONY_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony"; /** URI for Secure Remote Password authentication context. */ public static final String SRP_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword"; /** URI for SSL/TLS Client authentication context. */ public static final String TLS_CLIENT_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient"; /** URI for Time Synchornized Token authentication context. */ public static final String TIME_SYNC_TOKEN_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken"; /** URI for unspecified authentication context. */ public static final String UNSPECIFIED_AUTHN_CTX = "urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"; /** * Gets the URI identifying the Context Class of this Authentication Context. * * @return AuthnContext AuthnContextClassRef */ public AuthnContextClassRef getAuthnContextClassRef(); /** * Sets the URI identifying the Context Class of this Authentication Context. * * @param newAuthnContextClassRef the URI of this Authentication Context's Class. */ public void setAuthnContextClassRef(AuthnContextClassRef newAuthnContextClassRef); /** * Gets Declaration of this Authentication Context. * * @return AuthnContext AuthnContextDecl */ public AuthnContextDecl getAuthContextDecl(); /** * Sets the Declaration of this Authentication Context. * * @param newAuthnContextDecl the Declaration of this Authentication Context */ public void setAuthnContextDecl(AuthnContextDecl newAuthnContextDecl); /** * Gets the URI of the Declaration of this Authentication Context. * * @return AuthnContext AuthnContextDeclRef */ public AuthnContextDeclRef getAuthnContextDeclRef(); /** * Sets the URI of the Declaration of this Authentication Context. * * @param newAuthnContextDeclRef the URI of the Declaration of this Authentication Context */ public void setAuthnContextDeclRef(AuthnContextDeclRef newAuthnContextDeclRef); /** * Gets the Authenticating Athorities of this Authentication Context. * * @return AuthnContext AuthenticatingAuthorities */ public List<AuthenticatingAuthority> getAuthenticatingAuthorities(); }