Fix User Issue for reset password, and encode usernames (#14314)

This commit is contained in:
Mohit Yadav 2023-12-08 12:02:52 +05:30 committed by GitHub
parent 56385b281e
commit 2cfa562d63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -34,6 +34,8 @@ import static org.openmetadata.service.util.EmailUtil.getSmtpSettings;
import at.favre.lib.crypto.bcrypt.BCrypt;
import freemarker.template.TemplateException;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
import java.util.HashMap;
import java.util.LinkedHashMap;
@ -188,7 +190,9 @@ public class BasicAuthenticator implements AuthenticatorHandler {
String passwordResetLink =
String.format(
"%s/users/password/reset?user=%s&token=%s",
getSmtpSettings().getOpenMetadataUrl(), user.getFullyQualifiedName(), mailVerificationToken);
getSmtpSettings().getOpenMetadataUrl(),
URLEncoder.encode(user.getName(), StandardCharsets.UTF_8),
mailVerificationToken);
try {
EmailUtil.sendPasswordResetLink(passwordResetLink, user, subject, templateFilePath);
} catch (TemplateException e) {