假设两个不同的客户拥有各自的client-id,client-secretkey,okta域。根据对okta的研究,我发现这些参数将在application.properties文件中设置。如何动态设置这些参数,以便客户应重定向到其各自的域登录页面?
编辑:-
customer 1:-
a)DOMAIN :- dev-1234.okta.com
b)CLIENT_ID :- abcd
c)CLIENT_SECRET_KEY :- efgh
customer 2 :-
a)DOMAIN :- dev-5678.okta.com
b)CLIENT_ID :- hijk
c)CLIENT_SECRET_KEY :- lmno
假设我选择了customer 2,那么应该将customer 2的数据设置为环境变量(application.properties或application.yaml中的值),但是在春季启动中,没有任何方法可以动态设置环境变量。
答案 0 :(得分:0)
您可以使用环境变量来设置各自应用程序的属性。例如:
OKTA_OAUTH2_ISSUER=https://{yourOktaDomain}/oauth2/default \
OKTA_OAUTH2_CLIENT_ID={yourClientId} \
OKTA_OAUTH2_CLIENT_SECRET={yourClientSecret} ./mvn spring-boot:run
答案 1 :(得分:0)
Dhanraj,我不完全理解您的问题,但是Spring Boot有许多配置变量的选项。这是briefly covered here和更多的in-depth here。
我也建议您看看Spring Cloud Config。
我还看到人们在Spring加载之前编写了一个自定义Java代理来配置系统属性(但这仍然是云配置所做的。)