70 String actionTokenUserId = authenticationSession.
getAuthNote(DefaultActionTokenKey.ACTION_TOKEN_USER_ID);
71 if (actionTokenUserId != null && Objects.equals(user.
getId(), actionTokenUserId)) {
72 logger.debugf(
"Forget-password triggered when reauthenticating user after authentication via action token. Skipping " +
PROVIDER_ID +
" screen and using user '%s' ", user.
getUsername());
93 String authSessionEncodedId = AuthenticationSessionCompoundId.fromAuthSession(authenticationSession).getEncodedId();
94 ResetCredentialsActionToken token =
new ResetCredentialsActionToken(user.
getId(), absoluteExpirationInSecs, authSessionEncodedId, authenticationSession.
getClient().
getClientId());
95 String link = UriBuilder
99 long expirationInMinutes = TimeUnit.SECONDS.toMinutes(validityInSecs);
101 context.
getSession().
getProvider(EmailTemplateProvider.class).setRealm(context.
getRealm()).setUser(user).setAuthenticationSession(authenticationSession).sendPasswordReset(link, expirationInMinutes);
103 event.clone().event(EventType.SEND_RESET_PASSWORD)
108 }
catch (EmailException e) {
109 event.clone().event(EventType.SEND_RESET_PASSWORD)
114 Response challenge = context.
form()
Definition: UserModel.java:30
LoginFormsProvider setError(String message, Object ... parameters)
static int currentTime()
Definition: Time.java:33
Definition: AuthenticationFlowError.java:26
static final String EMAIL_SENT
Definition: Messages.java:91
String USERNAME
Definition: Details.java:39
void error(String error)
Definition: EventBuilder.java:160
RootAuthenticationSessionModel getParentSession()
URI getActionTokenUrl(String tokenString)
String CODE_ID
Definition: Details.java:29
String getAuthNote(String name)
String INVALID_EMAIL
Definition: Errors.java:75
Definition: Messages.java:22
void forkWithSuccessMessage(FormMessage message)
EventBuilder detail(String key, String value)
Definition: EventBuilder.java:133
KeycloakSession getSession()
static final String PROVIDER_ID
Definition: ResetCredentialEmail.java:55
< T extends Provider > T getProvider(Class< T > clazz)
void failure(AuthenticationFlowError error)
static final String ATTEMPTED_USERNAME
Definition: AbstractUsernameFormAuthenticator.java:52
Definition: Errors.java:23
String EMAIL_SEND_FAILED
Definition: Errors.java:74
String EMAIL
Definition: Details.java:25
LoginFormsProvider form()
Response createErrorPage(Response.Status status)
void failedToSendPwdResetEmail(@Cause EmailException e)
int getActionTokenGeneratedByUserLifespan()
EventBuilder user(UserModel user)
Definition: EventBuilder.java:103
Definition: AuthenticationSessionModel.java:33
AuthenticationSessionModel getAuthenticationSession()
Definition: AbstractUsernameFormAuthenticator.java:47
Definition: EventBuilder.java:37
Definition: Details.java:23
ServicesLogger LOGGER
Definition: ServicesLogger.java:50
static final String EMAIL_SENT_ERROR
Definition: Messages.java:93
Definition: FormMessage.java:26
INTERNAL_ERROR
Definition: AuthenticationFlowError.java:35
static final Logger logger
Definition: ResetCredentialEmail.java:53
Definition: ServicesLogger.java:48