Spring Boot Apigee作为授权服务器

but5z9lq  于 2023-03-02  发布在  Spring
关注(0)|答案(1)|浏览(179)

我正在尝试验证一个来自springboot的JWT令牌,这个令牌是由我的一个自定义apigee代理生成的。我想知道我是否可以使用springsecurity并使用Apigee作为授权服务器来验证JWT?
这是我的Web安全配置

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            .anyRequest()
            .authenticated()
            .and()
            .oauth2ResourceServer()
            .jwt();
}

spring.security.oauth2.resourceserver.jwt.issuer-uri={apigee_endpoint}

日志上说
服务器初始化异常:无法延迟解析位于org.springframework.security.oauth2.jwt.SupplierJwtDecoder.wrapException(供应商JwtDecoder.java:58)的提供的JwtDecoder示例~位于org.springframework.security.oauth2.jwt.SupplierJwtDecoder.decode(供应商JwtDecoder.java:49)的[spring-security-oauth2-jose-5.6.3.jar:5.6.3 ]~位于org.springframework.security.oauth2.server.resource.authentication.JwtProvision.getJwt(JwtAuthenticationAuthenticider.java:97)的[spring-security-oauth2-jose-5.6.3.jar:5.6.3 ]~[ spring-security-oauth2-资源服务器-5.6.3.jar:5.6
原因:java. lang.非法参数异常:无法解析具有提供的颁发者"{颁发者URL}"的配置,颁发者位于org.springframework.security.oauth2.jwt.JwtDecoderProviderConfigurationUtils.getConfiguration(JwtDecoderProviderConfigurationUtils.java:166)~[ spring-security-oauth2-jose-5.6.3.jar:5.6.3]位于org.springframework.security.oauth2.jwt.JwtDecoderProviderConfigurationUtils.getConfigurationForIssuerLocation(JwtDecoderProviderConfigurationUtils.java:79)~[ spring-security-oauth2-jose-5.6.3.jar:5.6.3]位于org.springframework.security.oauth2.jwt.JwtDecoders.从颁发者位置(JwtDecoders. java:93)~[ spring-security-oauth2

1cosmwyk

1cosmwyk1#

当我们使用两个不同版本的keycloak时,我遇到了这个问题。一个版本的路径是${security-provider-host-port}/auth/realms/${security-provider-realm},另一个版本的路径是${security-provider-host-port}/realms/${security-provider-realm}。因此,请检查您的spring.security.oauth2.resourceserver.jwt.issuer-uri路径

相关问题