96 EventBuilder
event = context.getEvent();
97 event.event(EventType.UPDATE_PROFILE);
98 MultivaluedMap<String, String> formData = context.getHttpRequest().getDecodedFormParameters();
100 RealmModel realm = context.getRealm();
102 List<FormMessage> errors = Validation.validateUpdateProfileForm(realm, formData);
103 if (errors != null && !errors.isEmpty()) {
104 Response challenge = context.form()
106 .setAttribute(LoginFormsProvider.UPDATE_PROFILE_CONTEXT_ATTR, userCtx)
107 .setFormData(formData)
108 .createUpdateProfilePage();
109 context.challenge(challenge);
113 String username = realm.isRegistrationEmailAsUsername() ? formData.getFirst(UserModel.EMAIL) : formData.getFirst(UserModel.USERNAME);
114 userCtx.setUsername(username);
115 userCtx.setFirstName(formData.getFirst(UserModel.FIRST_NAME));
116 userCtx.setLastName(formData.getFirst(UserModel.LAST_NAME));
118 String email = formData.getFirst(UserModel.EMAIL);
119 if (!ObjectUtil.isEqualOrBothNull(email, userCtx.getEmail())) {
120 if (
logger.isTraceEnabled()) {
121 logger.tracef(
"Email updated on updateProfile page to '%s' ", email);
124 userCtx.setEmail(email);
128 AttributeFormDataProcessor.process(formData, realm, userCtx);
132 logger.debugf(
"Profile updated successfully after first authentication with identity provider '%s' for broker user '%s'.", brokerContext.getIdpConfig().getAlias(), userCtx.getUsername());
134 event.detail(Details.UPDATED_EMAIL, email);
static final String UPDATE_PROFILE_EMAIL_CHANGED
Definition: AbstractIdpAuthenticator.java:48
static final String BROKERED_CONTEXT_NOTE
Definition: AbstractIdpAuthenticator.java:42
static final Logger logger
Definition: IdpReviewProfileAuthenticator.java:48