Interface WebAuthSession
-
public interface WebAuthSession
A WebAuthSession manages a user'sWebAuthSessionContext
for a given IdP based on incomingWebAuthResponseContext
updates, Security Zones, and any other contextual information available. The WebAuthSession posts aWebAuthSessionChangeEvent
to itsEventBus
when theWebAuthSessionContext
changes so that any listener may pull the new value by callinggetContext()
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description WebAuthSessionContext
getContext()
com.google.common.eventbus.EventBus
getEventBus()
java.util.Optional<java.lang.String>
getName()
default java.util.Optional<java.lang.String>
logout()
Clears the user from thisWebAuthSession
java.util.Optional<java.lang.String>
logout(java.lang.String message)
Clears the user from thisWebAuthSession
void
onLoginResponse(WebAuthResponseContext webAuthResponseContext)
Push a newWebAuthResponseContext
when the user logs in from the IdPvoid
onLogoutResponse(WebAuthResponseContext webAuthResponseContext)
Push a newWebAuthResponseContext
when the user logs out from the IdPvoid
shutdown()
Shut down the session.void
startup()
Start up the session.
-
-
-
Method Detail
-
startup
void startup()
Start up the session. May only be called once.- Throws:
java.lang.IllegalStateException
- if the session was already started or shut down
-
shutdown
void shutdown()
Shut down the session. May only be called once after startup.- Throws:
java.lang.IllegalStateException
- if the session was already shut down or if it was never started
-
getName
@Nonnull java.util.Optional<java.lang.String> getName()
- Returns:
- an
Optional
containing the IdP Adapter name associated with this session or an empty Optional if the IdP Adapter name is null
-
getContext
@Nonnull WebAuthSessionContext getContext()
- Returns:
- the latest
WebAuthSessionContext
-
onLoginResponse
void onLoginResponse(@Nonnull WebAuthResponseContext webAuthResponseContext)
Push a newWebAuthResponseContext
when the user logs in from the IdP- Parameters:
webAuthResponseContext
- theWebAuthResponseContext
- Throws:
java.lang.IllegalStateException
- if the session is not running
-
onLogoutResponse
void onLogoutResponse(@Nonnull WebAuthResponseContext webAuthResponseContext)
Push a newWebAuthResponseContext
when the user logs out from the IdP- Parameters:
webAuthResponseContext
- theWebAuthResponseContext
- Throws:
java.lang.IllegalStateException
- if the session is not running
-
logout
default java.util.Optional<java.lang.String> logout()
Clears the user from thisWebAuthSession
- Returns:
- an optional signed attributes document used as a hint to the IdP during logout
-
logout
java.util.Optional<java.lang.String> logout(@Nullable java.lang.String message)
Clears the user from thisWebAuthSession
- Parameters:
message
- an optional message to include with the logout event- Returns:
- an optional signed attributes document used as a hint to the IdP during logout
-
getEventBus
@Nonnull com.google.common.eventbus.EventBus getEventBus()
WebAuthSessionChangeEvent
s will be posted to theEventBus
when theWebAuthSession
has changed. Interested parties may callEventBus.register(Object)
to listen for changes.- Returns:
- the
EventBus
for thisWebAuthSession
-
-