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

JavaScript应用无法从WSO2网关URL生成AccessToken,遇CORS问题

解决步骤

  1. 处理OPTIONS预检请求
    浏览器发起跨域POST请求前会先发送OPTIONS预检请求,当前TokenAPI仅配置了POST方法的处理,需添加OPTIONS方法的处理逻辑。在_TokenAPI_.xml中新增一个resource节点:
<resource methods="OPTIONS" url-mapping="/*">
    <inSequence>
        <!-- 生产环境请替换为具体允许的前端域名,不要用* -->
        <property name="Access-Control-Allow-Origin" scope="transport" value="*"/>
        <property name="Access-Control-Allow-Methods" scope="transport" value="POST, OPTIONS"/>
        <property name="Access-Control-Allow-Headers" scope="transport" value="authorization,Content-Type,Accept"/>
        <property name="Access-Control-Allow-Credentials" scope="transport" value="true"/>
        <respond/>
    </inSequence>
</resource>
  1. 补充outSequence中的CORS响应头
    当前outSequence缺少关键的Access-Control-Allow-Origin头,修改outSequence:
<outSequence>
    <property name="Access-Control-Allow-Origin" scope="transport" value="*"/> <!-- 生产环境替换为指定域名 -->
    <property name="Access-Control-Allow-Headers" scope="transport" value="authorization,Content-Type,Accept"/>
    <send/>
</outSequence>
  1. 验证全局CORS配置
    检查<API_M>/repository/conf/api-manager.xml中的<CORSConfiguration>节点,确保配置正确启用:
<CORSConfiguration>
    <Enabled>true</Enabled>
    <Access-Control-Allow-Origin>*</Access-Control-Allow-Origin> <!-- 生产环境指定具体域名 -->
    <Access-Control-Allow-Methods>GET,PUT,POST,DELETE,PATCH,OPTIONS</Access-Control-Allow-Methods>
    <Access-Control-Allow-Headers>authorization,Content-Type,Accept</Access-Control-Allow-Headers>
    <Access-Control-Allow-Credentials>true</Access-Control-Allow-Credentials>
</CORSConfiguration>
  1. 重启WSO2服务
    所有配置修改完成后,必须重启WSO2 API Manager服务,确保配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:45:48