Class PasswordValidationCallback
- java.lang.Object
-
- jakarta.security.auth.message.callback.PasswordValidationCallback
-
- All Implemented Interfaces:
Callback
public class PasswordValidationCallback extends Object implements Callback
Callback for PasswordValidation.This callback may be used by an authentication module to employ the password validation facilities of its containing runtime. This Callback would typically be called by a
ServerAuthModuleduringvalidateRequestprocessing.This callback causes the following actions to be done:
- Validate the credentials
- If validated set caller principal (conceptually just like
CallerPrincipalCallbackdoes) - If validated and groups available set groups (conceptually just like
GroupPrincipalCallbackdoes)
PasswordValidationCallbackcould be implemented by a Jakarta Authentication implementation providedCallbackHandler:
Note that in this example:protected void processPasswordValidation(PasswordValidationCallback pwdCallback) { // 1. Validate the credentials Caller caller = ContainerSpecificStore.validate(pwdCallback.getUsername(), getPassword(pwdCallback)); if (caller != null) { // 2. If validated set caller principal, just like CallerPrincipalCallback does processCallerPrincipal(new CallerPrincipalCallback(pwdCallback.getSubject(), caller.getCallerPrincipal())); if (!caller.getGroups().isEmpty()) { // 3. If validated and groups available set groups, just like GroupPrincipalCallback does processGroupPrincipal(new GroupPrincipalCallback(pwdCallback.getSubject(), caller.getGroupsAsArray())); } pwdCallback.setResult(true); } }
-
processCallerPrincipalrepresents how theCallbackHandlerwould handle theCallerPrincipalCallback. -
processGroupPrincipalrepresents how theCallbackHandlerwould handle theGroupPrincipalCallback. -
CallerandContainerSpecificStoreare hypothetical implementation specific types.
-
-
Constructor Summary
Constructors Constructor Description PasswordValidationCallback(Subject subject, String username, char[] password)Create a PasswordValidationCallback.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearPassword()Clear the password.char[]getPassword()Get the password.booleangetResult()Get the authentication result.SubjectgetSubject()Get the subject.StringgetUsername()Get the username.voidsetResult(boolean result)Set the authentication result.
-
-
-
Method Detail
-
getSubject
public Subject getSubject()
Get the subject.- Returns:
- The subject.
-
getUsername
public String getUsername()
Get the username.- Returns:
- The username.
-
getPassword
public char[] getPassword()
Get the password.Note that this method returns a reference to the password. If a clone of the array is created it is the caller's responsibility to zero out the password information after it is no longer needed.
- Returns:
- The password, which may be null.
-
clearPassword
public void clearPassword()
Clear the password.
-
setResult
public void setResult(boolean result)
Set the authentication result.- Parameters:
result- True if authentication succeeded, false otherwise
-
getResult
public boolean getResult()
Get the authentication result.- Returns:
- True if authentication succeeded, false otherwise
-
-