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

使用OAuth2或Devportal访问API时遇900900认证失败错误求助

问题原因及解决方案

核心原因

从WSO2carbon日志的报错信息可以确定:

  • 密钥类型不匹配导致类型转换失败:JWKS端点在生成密钥集时,错误地将EC(椭圆曲线)公钥强制转换为RSA公钥,触发java.lang.ClassCastException,无法生成合法的JWKS(JSON Web Key Set)。
  • JWKS解析失败引发认证错误:由于JWKS生成失败,返回的内容不是合法的JSON对象,而是字符串,导致JWT验证器解析时抛出java.text.ParseException,最终返回900900未分类认证失败错误。

你更换默认证书、换环境后问题依旧,说明不是单个证书的问题,而是OAuth2服务的密钥配置与签名算法不匹配,或是环境中密钥存储存在混合密钥类型,导致JWKS端点无法正确生成对应密钥集。

解决步骤

  • 核对签名算法与密钥类型:确认OAuth2客户端/服务端配置的签名算法(如RS256)与所用密钥类型一致。若配置的是RSA算法,但密钥存储中使用EC密钥,必然触发类型转换错误。
  • 清理密钥存储中的不匹配密钥:
    1. 登录WSO2管理控制台,进入Identity > Identity Providers > Resident > OAuth2 > OAuth2 Token Validation,检查JWKS相关配置是否指向正确的密钥。
    2. 进入Keystores,确认用于JWT签名的密钥为RSA类型,移除或替换EC类型的密钥。
  • 验证JWKS端点输出:直接访问https://<你的WSO2域名>/oauth2/jwks,检查返回内容是否为合法JSON格式。若返回错误或非JSON字符串,说明密钥配置存在问题。
  • 检查WSO2版本兼容性:部分旧版WSO2 APIM/IS在处理混合密钥类型时存在已知bug,若上述步骤无效,考虑升级到稳定版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 20:55:19