【发布时间】:2021-07-20 20:27:44
【问题描述】:
在 DMZ 中配置 Spring Boot 客户端并使用以下方式配置 Spring Security OAuth:
issuer-uri: https://authentication_server/auth/realms/my-realm
我从 Spring Security 收到此错误:
The Issuer "https://external_url/auth/realms/my-realm" provided in the configuration metadata did not match the requested issuer "https://authentication_server/auth/realms/my-realm
从this post了解到,我需要指定authorization-uri、token-uri和jwk-set-uri而不是issuer-uri,然后它也可以工作。
authorization-uri: https://external_url/auth/realms/my-realm/protocol/openid-connect/auth
token-uri: https://authentication_server/auth/realms/my-realm/protocol/openid-connect/token
jwk-set-uri: https://authentication_server/auth/realms/my-realm/protocol/openid-connect/certs
(我不明白为什么 Spring Security 在单独设置值时无法使用 issuer-uri 中的相同值自动配置)
现在的问题是注销停止工作。使用 issuer-uri 时,OAuth 是自动配置的,end_session_endpoint 是从答案中获取的,但是在指定每个设置时,无法指定 end_session_endpoint。
这是 Spring Security OAuth 中的一个突出问题,还是我需要进行不同的配置?
【问题讨论】:
标签: spring-boot spring-security spring-security-oauth2