public class IdentityAssertionLoginModule
extends java.lang.Object
implements javax.security.auth.spi.LoginModule
Identity Assertion login module
A principal will be logged in if a trust is established. This login module considers trust to be established if the shared state contains a Map called com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state. The Map should contain the following variables:
If the Map is provided in the shared state then the identity will be logged in.
Constructor and Description |
---|
IdentityAssertionLoginModule() |
Modifier and Type | Method and Description |
---|---|
boolean |
abort()
Abort the authentication (second phase).
|
boolean |
commit()
Commit the authentication (phase 2).
|
void |
initialize(javax.security.auth.Subject subject,
javax.security.auth.callback.CallbackHandler callbackHandler,
java.util.Map sharedState,
java.util.Map options)
Initialize this login module.
|
boolean |
login()
Method to authenticate a Subject (first phase).
|
boolean |
logout()
Logout the user
|
public void initialize(javax.security.auth.Subject subject, javax.security.auth.callback.CallbackHandler callbackHandler, java.util.Map sharedState, java.util.Map options)
Initialize this login module.
This is called by the LoginContext
after this login module is
instantiated. The relevant information is passed from the LoginContext
to this login module. If the login module does not understands any of the data
stored in the sharedState
and options
parameters,
they can be ignored.
initialize
in interface javax.security.auth.spi.LoginModule
subject
- The subject to be authenticated.callbackHandler
- A CallbackHandler
for communicating with the end user to gather login information (e.g., username and password).sharedState
- The state shared with other configured login modules.options
- The options specified in the login configuration for this particular login module.public boolean login() throws com.ibm.websphere.security.auth.WSLoginFailedException
Method to authenticate a Subject (first phase).
This method authenticates a Subject. It uses the Map stored in the shared state property com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state. The com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted key in the Map is used to determine trust. If true then trusted if false then it not trusted. When trust is established then the principal stored in either the com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal or com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates key will contain the identity to login as.
login
in interface javax.security.auth.spi.LoginModule
true
if the authentication succeeded, or false
if this login module should be ignored.com.ibm.websphere.security.auth.WSLoginFailedException
- If the authentication fails.public boolean commit() throws com.ibm.websphere.security.auth.WSLoginFailedException
If the login module authentication attempted in phase 1 succeeded, then relevant principals and credentials are associated with the subject. If the authentication attempted in phase 1 failed, then this method removes/destroys any state that was originally saved.
commit
in interface javax.security.auth.spi.LoginModule
com.ibm.websphere.security.auth.WSLoginFailedException
- if the commit failspublic boolean abort() throws javax.security.auth.login.LoginException
This method is called if the LoginContext
's overall authentication failed.
If this login module's authentication attempt succeeded, then this method cleans up the previous state saved in phase 1.
abort
in interface javax.security.auth.spi.LoginModule
javax.security.auth.login.LoginException
- if the abort failspublic boolean logout() throws javax.security.auth.login.LoginException
The principals and credentials are removed from the Shared state.
logout
in interface javax.security.auth.spi.LoginModule
LoginModule
should not be ignored).javax.security.auth.login.LoginException
- if the logout fails