org.jboss.seam.security.external.saml.idp
Class SamlIdpBean

java.lang.Object
  extended by org.jboss.seam.security.external.EntityBean
      extended by org.jboss.seam.security.external.saml.SamlEntityBean
          extended by org.jboss.seam.security.external.saml.idp.SamlIdpBean
All Implemented Interfaces:
EntityConfigurationApi, SamlEntityConfigurationApi, SamlIdentityProviderConfigurationApi, SamlMultiUserIdentityProviderApi

@Typed(value=SamlIdpBean.class)
public class SamlIdpBean
extends SamlEntityBean
implements SamlMultiUserIdentityProviderApi, SamlIdentityProviderConfigurationApi

Author:
Marcel Kolsteren

Field Summary
 
Fields inherited from class org.jboss.seam.security.external.saml.SamlEntityBean
metaDataJaxbContext
 
Fields inherited from class org.jboss.seam.security.external.EntityBean
hostName, port, protocol
 
Constructor Summary
SamlIdpBean()
           
 
Method Summary
 SamlExternalServiceProvider addExternalSamlEntity(Reader reader)
          This method can be used to add an external SAML entity that is trusted by the entity that is being configured.
 SamlExternalServiceProvider addExternalServiceProvider(String entityId, SPSSODescriptorType spSsoDescriptor)
           
 void authenticationFailed(HttpServletResponse response)
           
 void authenticationSucceeded(SamlIdpSession session, HttpServletResponse response)
           
 SamlNameId createNameId(String value, String format, String qualifier)
           
 List<SamlExternalEntity> getExternalSamlEntities()
          Gets a list of all external entities that have been added previously by calling SamlEntityConfigurationApi.addExternalSamlEntity(java.io.Reader).
 SamlExternalServiceProvider getExternalSamlEntityByEntityId(String entityId)
          Gets the detailed of a trusted external entity, that has been added previously by calling SamlEntityConfigurationApi.addExternalSamlEntity(java.io.Reader).
 SamlIdpOrSp getIdpOrSp()
           
 List<SamlExternalServiceProvider> getServiceProviders()
          Gets a list of all external service providers that have been added previously by calling SamlEntityConfigurationApi.addExternalSamlEntity(java.io.Reader).
 Set<SamlIdpSession> getSessions()
           
 void globalLogout(SamlIdpSession session, HttpServletResponse response)
           
 boolean isWantAuthnRequestsSigned()
          This property indicates whether incoming authentication requests need to be signed.
 SamlIdpSession localLogin(SamlNameId nameId, List<AttributeType> attributes)
           
 void localLogout(SamlIdpSession session)
           
 void remoteLogin(String spEntityId, SamlIdpSession session, String remoteUrl, HttpServletResponse response)
           
 void setWantAuthnRequestsSigned(boolean wantAuthnRequestsSigned)
          See SamlIdentityProviderConfigurationApi.isWantAuthnRequestsSigned().
 void writeMetaData(Writer writer)
           
 
Methods inherited from class org.jboss.seam.security.external.saml.SamlEntityBean
addKeyDescriptorToMetaData, addNameIDFormatsToMetaData, addSloEndpointsToMetaData, getEntityId, getMetaDataURL, getMetaInfo, getPreferredBinding, getServiceURL, getSigningKey, isSingleLogoutMessagesSigned, isWantSingleLogoutMessagesSigned, readEntitiesDescriptor, readEntityDescriptor, setEntityId, setPreferredBinding, setSigningKey, setSingleLogoutMessagesSigned, setWantSingleLogoutMessagesSigned
 
Methods inherited from class org.jboss.seam.security.external.EntityBean
createURL, getHostName, getPort, getProtocol, setHostName, setPort, setProtocol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.seam.security.external.saml.api.SamlIdentityProviderConfigurationApi
isSingleLogoutMessagesSigned, isWantSingleLogoutMessagesSigned, setSingleLogoutMessagesSigned, setWantSingleLogoutMessagesSigned
 
Methods inherited from interface org.jboss.seam.security.external.saml.api.SamlEntityConfigurationApi
getEntityId, getMetaDataURL, getPreferredBinding, setEntityId, setPreferredBinding, setSigningKey
 
Methods inherited from interface org.jboss.seam.security.external.api.EntityConfigurationApi
getHostName, getPort, getProtocol, setHostName, setPort, setProtocol
 

Constructor Detail

SamlIdpBean

public SamlIdpBean()
Method Detail

getServiceProviders

public List<SamlExternalServiceProvider> getServiceProviders()
Description copied from interface: SamlIdentityProviderConfigurationApi
Gets a list of all external service providers that have been added previously by calling SamlEntityConfigurationApi.addExternalSamlEntity(java.io.Reader).

Specified by:
getServiceProviders in interface SamlIdentityProviderConfigurationApi
Returns:
the list

addExternalServiceProvider

public SamlExternalServiceProvider addExternalServiceProvider(String entityId,
                                                              SPSSODescriptorType spSsoDescriptor)

addExternalSamlEntity

public SamlExternalServiceProvider addExternalSamlEntity(Reader reader)
Description copied from interface: SamlEntityConfigurationApi
This method can be used to add an external SAML entity that is trusted by the entity that is being configured. If the entity that is being configured is an identity provider, this method can be used for adding trusted service providers, and vice versa. The reader must contain a UTF-8 encoded XML-file with the meta information of the entity that needs to be added. When this method returns, the configured entity trusts the added entity (has been added to the "circle of trust"). Remark that the meta data of the configured entity also needs to be loaded in the external entity. How this is done is out of scope for this API, but the needed meta information is served at the URL provided by SamlEntityConfigurationApi.getMetaDataURL().

Specified by:
addExternalSamlEntity in interface SamlEntityConfigurationApi
Specified by:
addExternalSamlEntity in class SamlEntityBean
Parameters:
reader - reader that reads the meta information of the entry that needs to be added
Returns:
the contents of the external entity (extracted from the meta information)

getExternalSamlEntities

public List<SamlExternalEntity> getExternalSamlEntities()
Description copied from interface: SamlEntityConfigurationApi
Gets a list of all external entities that have been added previously by calling SamlEntityConfigurationApi.addExternalSamlEntity(java.io.Reader).

Specified by:
getExternalSamlEntities in interface SamlEntityConfigurationApi
Specified by:
getExternalSamlEntities in class SamlEntityBean
Returns:
the list

isWantAuthnRequestsSigned

public boolean isWantAuthnRequestsSigned()
Description copied from interface: SamlIdentityProviderConfigurationApi
This property indicates whether incoming authentication requests need to be signed. This property is disabled (false) by default.

Specified by:
isWantAuthnRequestsSigned in interface SamlIdentityProviderConfigurationApi
Returns:
true iff the authentication requests need to be signed

setWantAuthnRequestsSigned

public void setWantAuthnRequestsSigned(boolean wantAuthnRequestsSigned)
Description copied from interface: SamlIdentityProviderConfigurationApi
See SamlIdentityProviderConfigurationApi.isWantAuthnRequestsSigned().

Specified by:
setWantAuthnRequestsSigned in interface SamlIdentityProviderConfigurationApi

getExternalSamlEntityByEntityId

public SamlExternalServiceProvider getExternalSamlEntityByEntityId(String entityId)
Description copied from interface: SamlEntityConfigurationApi
Gets the detailed of a trusted external entity, that has been added previously by calling SamlEntityConfigurationApi.addExternalSamlEntity(java.io.Reader).

Specified by:
getExternalSamlEntityByEntityId in interface SamlEntityConfigurationApi
Specified by:
getExternalSamlEntityByEntityId in class SamlEntityBean
Parameters:
entityId - the id of the entity
Returns:
an object containing the properties of the entity

writeMetaData

public void writeMetaData(Writer writer)
Specified by:
writeMetaData in class SamlEntityBean

authenticationSucceeded

public void authenticationSucceeded(SamlIdpSession session,
                                    HttpServletResponse response)
Specified by:
authenticationSucceeded in interface SamlMultiUserIdentityProviderApi

authenticationFailed

public void authenticationFailed(HttpServletResponse response)
Specified by:
authenticationFailed in interface SamlMultiUserIdentityProviderApi

getSessions

public Set<SamlIdpSession> getSessions()
Specified by:
getSessions in interface SamlMultiUserIdentityProviderApi

localLogin

public SamlIdpSession localLogin(SamlNameId nameId,
                                 List<AttributeType> attributes)
Specified by:
localLogin in interface SamlMultiUserIdentityProviderApi

createNameId

public SamlNameId createNameId(String value,
                               String format,
                               String qualifier)
Specified by:
createNameId in interface SamlMultiUserIdentityProviderApi

remoteLogin

public void remoteLogin(String spEntityId,
                        SamlIdpSession session,
                        String remoteUrl,
                        HttpServletResponse response)
Specified by:
remoteLogin in interface SamlMultiUserIdentityProviderApi

localLogout

public void localLogout(SamlIdpSession session)
Specified by:
localLogout in interface SamlMultiUserIdentityProviderApi

globalLogout

public void globalLogout(SamlIdpSession session,
                         HttpServletResponse response)
Specified by:
globalLogout in interface SamlMultiUserIdentityProviderApi

getIdpOrSp

public SamlIdpOrSp getIdpOrSp()
Specified by:
getIdpOrSp in class SamlEntityBean


Copyright © 2011 Seam Framework. All Rights Reserved.