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

WSO2 AM 4.1.0集成外部JWT遇900908资源禁止问题求助

WSO2 AM 4.1.0 集成外部OAuth提供商解决900908资源禁止错误

1. 先把JWT验证的基础配置搞对

打开WSO2容器内的repository/conf/deployment.toml,确认以下配置准确:

[apim.jwt]
enable = true
issuer = "<外部OAuth提供商的issuer值,需和JWT里的iss声明完全一致>"
jwks_url = "<外部提供商的JWKS端点URL>"
validate_expiry = true
# 若不用JWKS,改用本地公钥的话,替换jwks_url为:
# public_key_path = "<容器内的公钥文件路径,比如/home/wso2carbon/public.key>"

注意issuer必须和外部JWT里的iss字段完全匹配,大小写都不能出错。

2. 在管理控制台添加外部身份提供商(IDP)

  • 登录WSO2 AM的Carbon控制台(https://<你的AM域名>:9443/carbon)
  • 左侧菜单选择Identity > Identity Providers > Add
  • 填写基本信息:
    • Identity Provider Name:自定义一个易记的名称,比如External_OAuth
    • Issuer:填入外部OAuth提供商的issuer值(和上面配置的保持一致)
  • 展开Inbound Authentication Configuration > OAuth2/OpenID Connect Configuration,点击Configure:
    • 勾选Enable OAuth2/OpenID Connect
    • 填入Client ID(即你的SPA在外部OAuth提供商注册的客户端ID,若不需要WSO2与外部提供商交互可留空,但建议填上)
    • 填入JWKS Endpoint:外部提供商的JWKS地址
    • 保存配置

3. 绑定API与外部IDP

  • 登录API Publisher,打开目标API
  • 切换到Settings > Security标签页
  • 在OAuth2 Security板块下,点击Add OAuth2/OpenID Connect Identity Provider
  • 选择刚才创建的外部IDP,点击Add,之后保存API并重新发布

4. 让应用关联外部IDP

  • 登录开发者门户,打开你的应用
  • 切换到Credentials标签页
  • 在OAuth2/OpenID Connect Configuration板块下,点击Add Identity Provider
  • 选择创建的外部IDP并保存,同时确保该应用已订阅目标API

5. 检查JWT的aud声明

外部JWT的aud(受众)声明必须包含以下任一值:

  • API的上下文+版本,比如/my-api/v1
  • 开发者门户中该应用的Client ID
    若临时不想验证aud字段(不推荐生产环境使用),可在deployment.toml中添加:
[apim.jwt]
validate_audience = false

6. 日志排查定位问题

若仍出现900908错误,查看WSO2的日志文件repository/logs/wso2carbon.log,里面会有详细错误原因,比如iss不匹配、aud不符合要求或IDP未正确绑定。同时可用jwt.io解析外部JWT,确认iss、exp、aud等声明符合配置要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:35:25