diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/security/auth/BasicAuthenticator.java b/openmetadata-service/src/main/java/org/openmetadata/service/security/auth/BasicAuthenticator.java index c1f66e63d95..2b4711d8b75 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/security/auth/BasicAuthenticator.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/security/auth/BasicAuthenticator.java @@ -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) {