【问题标题】:Update Spring Security oAuth2 jwt.key-value dynamically at runtime在运行时动态更新 Spring Security oAuth2 jwt.key-value
【发布时间】:2019-12-15 11:50:09
【问题描述】:

我有 zuul 代理,它使用该属性来验证令牌作为资源服务器

security.oauth2.resource.jwt.key-value

我将公钥作为密钥值的一部分,但是我的应用程序正在从保险库中动态获取公钥。我正在寻找一种在运行时动态更新 application.yml 或 application.properties 文件中的值的方法。如果我理解正确更新属性值不应该重新加载应用程序。

我如何动态地做到这一点,下面是我更新属性的尝试。

Properties properties = new Properties();
properties.put("security.oauth2.resource.jwt.key-value", publicKey);
application.setDefaultProperties(properties);        
application.run(args);

【问题讨论】:

  • 您想在应用程序开始时执行此操作吗?所以基本上你想在开始之前在运行时设置一个属性值?
  • 没错
  • 看看这是否有帮助stackoverflow.com/q/23563363/2830850
  • 我不认为这可以在不重新启动应用程序的情况下完成,因为spring会捕获加载时的所有配置,因此重新启动后更改道具不会有任何效果。

标签: java spring spring-security spring-security-oauth2 netflix-zuul


【解决方案1】:

如果您使用“Spring Cloud Vault”项目,则在资源文件夹下配置 bootstrap.yml 配置,这将包含您的 spring.cloud.vault:主机、端口、令牌等设置。 Spring Cloud vault 将首先引导,您将能够在属性文件或代码中使用 vault 中的任何属性。 例如security.oauth2.resource.jwt.key-value=${my-vault-property}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 2019-09-25
    • 2021-03-21
    • 1970-01-01
    • 2019-04-29
    • 2017-09-11
    相关资源
    最近更新 更多