Return Invalid Credentials message on login error

Closes gh-16484

Signed-off-by: tejas-teju <tejas8196@gmail.com>
This commit is contained in:
tejas-teju
2025-02-12 03:51:22 +05:30
committed by Josh Cummings
parent e42865b926
commit c4b223266c
3 changed files with 6 additions and 49 deletions

View File

@@ -22,14 +22,12 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.MessageSourceAccessor;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.security.config.ObjectPostProcessor;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.test.SpringTestContext;
import org.springframework.security.config.test.SpringTestContextExtension;
import org.springframework.security.core.SpringSecurityMessageSource;
import org.springframework.security.core.userdetails.PasswordEncodedUser;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
@@ -77,8 +75,6 @@ public class DefaultLoginPageConfigurerTests {
@Autowired
MockMvc mvc;
MessageSourceAccessor messages = SpringSecurityMessageSource.getAccessor();
@Test
public void getWhenFormLoginEnabledThenRedirectsToLoginPage() throws Exception {
this.spring.register(DefaultLoginPageConfig.class).autowire();
@@ -148,8 +144,7 @@ public class DefaultLoginPageConfigurerTests {
this.mvc.perform(get("/login?error").session((MockHttpSession) mvcResult.getRequest().getSession())
.sessionAttr(csrfAttributeName, csrfToken))
.andExpect((result) -> {
String badCredentialsLocalizedMessage = this.messages
.getMessage("AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials");
String defaultErrorMessage = "Invalid credentials";
CsrfToken token = (CsrfToken) result.getRequest().getAttribute(CsrfToken.class.getName());
assertThat(result.getResponse().getContentAsString()).isEqualTo("""
<!DOCTYPE html>
@@ -184,7 +179,7 @@ public class DefaultLoginPageConfigurerTests {
</div>
</body>
</html>""".formatted(badCredentialsLocalizedMessage, token.getToken()));
</html>""".formatted(defaultErrorMessage, token.getToken()));
});
// @formatter:on
}