You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Security验证Auth0 Token无法解析Issuer配置错误如何解决

根因分析

报错信息明确指出框架尝试解析Issuer为https://dummy/api的OIDC配置失败,该值是你配置中auth0.audience的取值,说明你在自定义JwtDecoder Bean的代码中错误将audience参数作为Issuer URI传入了初始化逻辑。
Auth0的Token Issuer固定为你的Auth0应用域名也就是https://my-domain-at.auth0.com/,audience是你定义的API标识,两者不能混用。

修复方案
  • 修正SecurityConfig类中jwtDecoder方法的参数取值逻辑,正确区分Issuer和audience配置:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.security.oauth2.core.DelegatingOAuth2TokenValidator;
import org.springframework.security.oauth2.core.OAuth2TokenValidator;
import org.springframework.security.oauth2.jwt.*;

public class SecurityConfig {
    // 正确读取Issuer配置
    @Value("${spring.security.oauth2.resourceserver.jwt.issuer-uri}")
    private String issuerUri;
    // 读取audience配置做校验用
    @Value("${auth0.audience}")
    private String apiAudience;

    @Bean
    public JwtDecoder jwtDecoder() {
        // 构造audience校验器
        OAuth2TokenValidator<Jwt> audienceValidator = new AudienceValidator(apiAudience);
        // 构造Issuer校验器
        OAuth2TokenValidator<Jwt> issuerValidator = JwtValidators.createDefaultWithIssuer(issuerUri);
        // 组合校验规则
        OAuth2TokenValidator<Jwt> combinedValidator = new DelegatingOAuth2TokenValidator<>(issuerValidator, audienceValidator);

        // 用正确的Issuer初始化解码器
        NimbusJwtDecoder decoder = JwtDecoders.fromOidcIssuerLocation(issuerUri);
        decoder.setJwtValidator(combinedValidator);
        return decoder;
    }
}
  • 若本地开发环境存在网络限制无法访问Auth0公网域名,可补充配置JWK地址跳过启动时的OIDC配置拉取:
spring:
  security:
    oauth2:
      resourceserver:
        jwt:
          issuer-uri: https://my-domain-at.auth0.com/
          # 新增JWK配置,值为你的Auth0域名加/.well-known/jwks.json
          jwk-set-uri: https://my-domain-at.auth0.com/.well-known/jwks.json
  • 校验所有配置值和Auth0后台的配置完全一致,特别注意域名末尾的斜杠不要遗漏。

内容的提问来源于stack exchange,提问作者neekheel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 19:27:04