|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ForgottenLoginManager
Manages functionality related to retrieving forgotten usernames or resetting forgotten passwords.
To reset a user's password, clients of ForgottenLoginManager would do the following:
| Field Summary | |
|---|---|
static int |
DEFAULT_TOKEN_EXPIRY_SECONDS
|
| Method Summary | |
|---|---|
ExpirableUserToken |
createAndStoreResetToken(long directoryId,
String username,
String email,
int tokenExpirySeconds)
Creates an ExpirableUserToken for a given username in the given directory. |
boolean |
isValidResetToken(long directoryId,
String username,
String token)
Returns true if the password reset token for the user with the specified username and directory ID are valid and not expired. |
boolean |
removeByDirectoryAndUsername(long directoryId,
String username)
Removes the password reset tokens associated to a username in a directory. |
void |
resetUserCredential(long directoryId,
String username,
PasswordCredential credential,
String token)
Resets the user credentials and invalidates the token. |
void |
sendResetLink(Application application,
String username,
int tokenExpirySeconds)
Sends a reset link to the first user with the matching username from all the active directories assigned to the application. |
void |
sendResetLink(long directoryId,
String username,
int tokenExpirySeconds)
Sends a reset link to the user with specified username and directory ID. |
boolean |
sendUsernames(Application application,
String email)
Sends the usernames associated with the given email address. |
| Field Detail |
|---|
static final int DEFAULT_TOKEN_EXPIRY_SECONDS
| Method Detail |
|---|
void sendResetLink(Application application,
String username,
int tokenExpirySeconds)
throws UserNotFoundException,
InvalidEmailAddressException,
ApplicationPermissionException
application - user is searched in application's assigned directoriesusername - username of the user to send the password reset linktokenExpirySeconds - number of seconds before generated token expires, or DEFAULT_TOKEN_EXPIRY_SECONDS
UserNotFoundException - if no user with the supplied username exists
InvalidEmailAddressException - if the user does not have a valid email address to send the password reset email to
ApplicationPermissionException - if the application does not have permission to modify the user
IllegalArgumentException - if tokenExpirySeconds is less than 0
boolean sendUsernames(Application application,
String email)
throws InvalidEmailAddressException
Sends the usernames associated with the given email address. No email will be sent if there are no usernames
associated with a given email.
The method returns a boolean, which should only ever be passed to authenticated applications to avoid leaking information.
application - search application's assigned directories for usernames associated with the emailemail - email address of the user
true if any users with that address were found.
InvalidEmailAddressException - if the email is not valid
void sendResetLink(long directoryId,
String username,
int tokenExpirySeconds)
throws DirectoryNotFoundException,
UserNotFoundException,
InvalidEmailAddressException,
OperationFailedException
Similar to sendResetLink(Application, String, int) except applying to a directory-specific
user.
directoryId - directory ID of the user to modifyusername - username of the user to send the password reset linktokenExpirySeconds - number of seconds before generated token expires, or DEFAULT_TOKEN_EXPIRY_SECONDS
DirectoryNotFoundException - if the directory specified by directoryId could not be found
UserNotFoundException - if the user specified by username could not be found
InvalidEmailAddressException - if the user does not have a valid email address to send the password reset email to
IllegalArgumentException - if tokenExpirySeconds is less than 0
OperationFailedException
boolean isValidResetToken(long directoryId,
String username,
String token)
sendResetLink(com.atlassian.crowd.model.application.Application, java.lang.String, int).
directoryId - directory ID of the user to validateusername - username of the user to verify the tokentoken - password reset token
void resetUserCredential(long directoryId,
String username,
PasswordCredential credential,
String token)
throws DirectoryNotFoundException,
UserNotFoundException,
InvalidResetPasswordTokenException,
OperationFailedException,
InvalidCredentialException,
DirectoryPermissionException
directoryId - directory ID of the userusername - user name of the user to perform a credential resetcredential - new credentialstoken - password reset token
DirectoryNotFoundException - if the directory could not be found.
UserNotFoundException - if the user could not be found in the given directory.
InvalidResetPasswordTokenException - if the reset token is not valid.
OperationFailedException - if there was an error performing the operation or instantiating the backend directory.
InvalidCredentialException - if the user's credential does not meet the validation requirements for an associated directory.
DirectoryPermissionException - if the directory is not allowed to perform the operation
ExpirableUserToken createAndStoreResetToken(long directoryId,
String username,
String email,
int tokenExpirySeconds)
ExpirableUserToken for a given username in the given directory.
Note: no check is done to verify that the user actually exists in the given directory;
if this is not the case, the returned token will be useless.
directoryId - the directory id associated with the userusername - the username of the user to create the token foremail - the email of the user to create the token fortokenExpirySeconds - number of seconds before generated token expires, or DEFAULT_TOKEN_EXPIRY_SECONDS
IllegalArgumentException - if tokenExpirySeconds is less than 0
boolean removeByDirectoryAndUsername(long directoryId,
String username)
directoryId - directory where the user livesusername - username
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||