动态更改Spring OAuth2中的security.oauth2.resource.user-info-uri @EnableResourceServer

时间:2017-07-19 05:07:04

标签: java spring-boot spring-security spring-security-oauth2

我有一个Spring Boot应用,如下所示:

@SpringBootApplication
@EnableResourceServer
@EnableDiscoveryClient
public class App
{
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

我在application.properties中配置了oauth2属性。

security.oauth2.resource.user-info-uri=http://localhost:9000/user

但是,我需要根据发送到URI应用的请求更改此Spring Boot

例如: 如果我收到Spring Boot App到网址htpp://test.localhost:8000的请求,我希望user-info-urlhttp://test.localhost:9000/user

但如果我收到http://localhost:8000的请求,我希望user-info-urlhttp://localhost:9000/user

我的目的是根据子域管理不同的环境。

有没有办法在代码中动态更改此URI而不是将其硬编码为属性?

1 个答案:

答案 0 :(得分:0)

Spring Cloud Config

通过利用Spring Cloud Config服务器,您可以外部化配置并将更新推送到应用程序属性。一个简单的实现由Git存储库支持,您将在其中存储application.properties文件。您提交更改,然后向POST请求/refresh端点,该端点将触发重新加载配置。

还有更高级的场景,但希望这足以让你入门。

这是一个简单的Getting Started指南。