我开发了一个使用OAuth2自动配置的Spring Boot应用程序,但是我不能强迫它从除application.yml之外的yml文件中读取客户端配置
预先感谢
答案 0 :(得分:0)
一种简单的解决方案是使用多个配置文件和一个配置文件一个客户端文件:
第一个属性文件名为 application-my-client-1.yml :
spring:
security:
oauth2:
client:
registration:
my-client-1:
client-id: ${APP-CLIENT-ID}
client-secret: ${APP-CLIENT-SECRET}
client-name: my-client user
provider: my-client
scope: user
redirect-uri: http://localhost:8080/login/oauth2/code/my-client
通过在运行spring boot应用程序时将my-client-1配置文件设置为启用来激活:
java -jar -Dspring.profiles.active=my-client-1 myApplication.jar
第二个属性文件名为 application-my-client-2.yml :
spring:
security:
oauth2:
client:
registration:
my-client-2:
client-id: ${APP-CLIENT-ID}
client-secret: ${APP-CLIENT-SECRET}
client-name: my-client-2 email
provider: my-client-2
scope: user:email
redirect-uri: http://localhost:8080/login/oauth2/code/my-client-2
通过在运行Spring Boot应用程序时将my-client-2配置文件设置为启用来激活:
java -jar -Dspring.profiles.active=my-client-2 myApplication.jar
可以通过在以下位置设置所有配置文件来激活所有属性:
java -jar -Dspring.profiles.active=my-client-1,my-client-2 myApplication.jar