【发布时间】:2022-01-31 10:51:49
【问题描述】:
我有一个 Spring Boot 应用程序,它在 Spring Security 配置中配置为 oauth2ResourceServer。
此配置需要 application.properties 文件中的以下条目:
spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://localhost:8888/auth/realms/devrealm/protocol/openid-connect/certs
以便 Spring Security 可以验证 JWT 签名。
实际实现工作正常,但是我很难编写测试。对于我的测试,我使用在 docker 容器中运行的测试 Keycloak 实例,由使用 TestContainers 的相关测试启动。由于测试密钥斗篷的端口一直在变化,我无法提前设置jwk-set-uri。实际的 jwk-set-uri 只能在 keycloak 容器启动后设置。
所以问题是:如何在运行时设置或更改spring.security.oauth2.resourceserver.jwt.jwk-set-uri 属性?
【问题讨论】:
标签: spring-boot spring-security-oauth2