我目前有一个身份验证方案,我在同一网络上有一个客户端和一个资源服务器,但是,身份验证服务器位于公共云提供商上。我目前由需要的代理(url,端口,用户名和密码)分隔。我不确定如何配置我的Spring Security Resource Server以通过代理调用Authentication服务器,而不设置会强制我的客户端需要通过代理的jvm级别代理。
这是我最简单的例子:
@SpringBootApplication
@EnableOAuth2Sso
@RestController
public class SocialApplication extends WebSecurityConfigurerAdapter {
@RequestMapping("/user")
public Principal user(Principal principal) {
return principal;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.antMatcher("/**").authorizeRequests().antMatchers("/", "/login**", "/webjars/**").permitAll().anyRequest()
.authenticated();
}
public static void main(String[] args) {
SpringApplication.run(SocialApplication.class, args);
}
配置
security:
oauth2:
client:
clientId: myCoolClientId
clientSecret: epicSecretKey
accessTokenUri: https://github.com/login/oauth/access_token
userAuthorizationUri: https://github.com/login/oauth/authorize
clientAuthenticationScheme: form
resource:
userInfoUri: https://api.github.com/user
logging:
level:
org.springframework.security: DEBUG