org.jboss.seam.security.external.saml.sp
Class SamlSpSingleUser

java.lang.Object
  extended by org.jboss.seam.security.external.saml.sp.SamlSpSingleUser
All Implemented Interfaces:
SamlServiceProviderApi

public class SamlSpSingleUser
extends Object
implements SamlServiceProviderApi

Author:
Marcel Kolsteren

Constructor Summary
SamlSpSingleUser()
           
 
Method Summary
 SamlSpSession getSession()
          Gets the current session (login).
 void globalLogout(HttpServletResponse response)
          Globally logs out the user.
 void localLogout()
           Locally logs out the user.
 void login(String idpEntityId, HttpServletResponse response)
          Sends the user agent to the site of the given identity provider, where the user can be authenticated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SamlSpSingleUser

public SamlSpSingleUser()
Method Detail

login

public void login(String idpEntityId,
                  HttpServletResponse response)
Description copied from interface: SamlServiceProviderApi
Sends the user agent to the site of the given identity provider, where the user can be authenticated. When the call returns, a redirect on the HTTP response has taken place. The response of the identity provider will be sent asynchronously through the SPI methods SamlSingleUserServiceProviderSpi#loginSucceeded(OpenIdSession) or SamlSingleUserServiceProviderSpi#loginFailed(OpenIdSession). If the method is called within a dialogue, that same dialogue will be active when the SPI method is called. Thus, the dialogue can be used to store API client state that needs to survive the sign on process.

Specified by:
login in interface SamlServiceProviderApi
response - the HTTP servlet response

localLogout

public void localLogout()
Description copied from interface: SamlServiceProviderApi

Locally logs out the user. This use case is considered out of scope by the SAML spec (see the SAMLv2 Profiles document, section 4.4). The local logout means that the session established by the SAML SP is not used any more by the application. So when the SAML SP will receive a logout request for this session in the future, it won't pass that on to the application.

This method doesn't write the HTTP response.

Specified by:
localLogout in interface SamlServiceProviderApi

globalLogout

public void globalLogout(HttpServletResponse response)
Description copied from interface: SamlServiceProviderApi
Globally logs out the user. The browser of the user is redirected to the site of the identity provider, so that the identity provider can logout the user from all applications that share the same session at the identity provider. The result of the logout operation is reported back asynchronously through the SPI methods SamlSingleUserServiceProviderSpi#globalLogoutSucceeded() and SamlSingleUserServiceProviderSpi#singleLogoutFailed(). If this method is called with an active dialogue scope, the same dialogue will be active when the SPI method is called. This allows the API client to store state information in the dialogue.

Specified by:
globalLogout in interface SamlServiceProviderApi
Parameters:
response - the HTTP servlet response

getSession

public SamlSpSession getSession()
Description copied from interface: SamlServiceProviderApi
Gets the current session (login). If there is no active session, null is returned.

Specified by:
getSession in interface SamlServiceProviderApi
Returns:
active session, or null


Copyright © 2011 Seam Framework. All Rights Reserved.