spring authorization server 0.0.3自定义登录页

xmd2e60i  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(368)

我想定制SpringAuthorizationServer0.0.3上的登录页面。
如何定制?
下面是我的代码。

@EnableWebSecurity
class WebSecurityConfiguration(
        val securityUserDetailService: SecurityUserDetailService,
        @Qualifier(value = "oauth2authSuccessHandler")
        val oauth2authSuccessHandler: AuthenticationSuccessHandler
) : WebSecurityConfigurerAdapter() {
    override fun configure(http: HttpSecurity?) {
        http?.run {
            this
                    .csrf().disable()
                    .authorizeRequests()
                    .antMatchers("/login").permitAll()
                    .anyRequest()
                    .authenticated()
                    .and()
                    .formLogin().loginPage("/login")[![enter image description here][1]][1]
                    .and().rememberMe().key("security_key")
                    .and().logout().logoutUrl("/logout").logoutSuccessUrl("/login").deleteCookies("remember-me")
//                    .and().oauth2Login().loginPage("/login").successHandler(oauth2authSuccessHandler)
        }
    }
}
@EnableWebSecurity
@Configuration(proxyBeanMethods = false)
@Import(OAuth2AuthorizationServerConfiguration::class)
class AuthorizationServerConfiguration {
    @Bean
    fun registeredClientRepository(): RegisteredClientRepository {
        val registeredClient = RegisteredClient.withId(UUID.randomUUID().toString())
                .clientId("test")
                .clientSecret("secret")
                .clientAuthenticationMethod(ClientAuthenticationMethod.BASIC)
                .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
                .redirectUri("http://localhost:8080/authorized")
                .scope("test")
                .build()
        return InMemoryRegisteredClientRepository(registeredClient)
    }

    @Bean
    fun keyManager(): KeyManager {
        return StaticKeyGeneratingKeyManager()
    }
}
@Controller
class LoginController {

    @GetMapping("/login")
    fun loginForm(): String {
        return "login"
    }
}

我用下面的uri输入并登录。

http://localhost:8080/oauth2/authorize?response_type=code&client_id=test&scope=test


这是我的自定义登录页。
当我在这里登录时,

它让我进入错误页面。

在这种状态下,当我尝试使用oauth2/authorize url再次登录时,

它最终返回授权码。我不知道为什么我在我的自定义登录页上转到/出错。
请告诉我。
谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题