Spring Boot 新手,我正在开发一个应用程序,该应用程序已经完成了一些 Oauth2 身份验证以使用 azure 登录。我的任务是为另一个 API 设置一些身份验证,现在我的application-local.properties.
spring.security.oauth2.resource.jwk.key-set-uri=xxxxxxxx
spring.security.oauth2.client.registration.azure.client-secret=xxxx
spring.security.auth2.client.registration.azure.client-id=xxxxx
spring.security.oauth2.client.registration.azure.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.azure.client-name=azure
spring.security.oauth2.client.registration.azure.provider=azure
spring.security.oauth2.client.registration.azure.scope=openid,profile,email,offline_access
spring.security.oauth2.client.provider.test.token-uri=xxxxx
spring.security.oauth2.client.registration.test.client-id=xxxxx
spring.security.oauth2.client.registration.test.client-secret=xxxxx
spring.security.oauth2.client.registration.test.authorization-grant-type=client_credentials
Run Code Online (Sandbox Code Playgroud)
登录提示示例
这有效。现在的问题是第一次访问应用程序时,系统会提示您选择要登录的服务,天蓝色或测试。我希望能够为此设置默认值并使用 azure 登录到应用程序,以便不会提示用户。
http.authorizeRequests()
.antMatchers("/impersonate/**").hasAnyRole(roleAdmin)
.antMatchers("/login", "/health").permitAll()
.anyRequest().authenticated()
.antMatchers("/logout").hasRole(prevRoleAdmin)
.anyRequest().fullyAuthenticated()
.and()
.csrf().disable()
.logout()
.logoutSuccessUrl("/admin")
.and()
.oauth2Login() // Is there a way to pass which registration it should use after this?
.userInfoEndpoint()
.oidcUserService(this.oidcUserService())
;
Run Code Online (Sandbox Code Playgroud)
有没有办法设置它来寻找和使用天蓝色的信用?