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

如何在WSO2 MI中为单个API配置多凭证实现多用户认证?

在WSO2 MI中为单个API配置多个凭证的实现方案

方案一:对接API Manager(APIM)时的配置

如果你的MI是和APIM集成部署的,直接在APIM里就能给API加多种凭证:

  • 登录APIM Publisher门户,打开要配置的API编辑页
  • 切到Security标签,在API Authentication区块勾选你需要的多种认证类型(比如同时选Basic Authentication和OAuth2)
  • 给每种认证类型配置具体参数:
    • Basic Auth:指定要用的用户存储(主存储或二级存储都行)
    • OAuth2:关联对应的OAuth应用、设置令牌验证端点等
  • 保存并发布API,同步到MI网关后,这个API就能用任意一种凭证访问了

方案二:独立MI部署的配置

如果MI是单独运行的,有两种配置方式:

方式1:直接编辑API的Synapse配置文件

  • 找到MI部署目录下repository/deployment/server/synapse-configs/default/api里的目标API XML文件
  • 在API的<resource>或<api>节点下添加多个认证拦截器,比如同时支持Basic Auth和API Key的示例:
    <api xmlns="http://ws.apache.org/ns/synapse" name="SampleAPI" context="/sample">
        <resource methods="GET" url-mapping="/data">
            <inSequence>
                <!-- 配置Basic Auth拦截器 -->
                <class name="org.apache.synapse.security.handlers.authentication.BasicAuthHandler">
                    <property name="userstore" value="primary"/>
                </class>
                <!-- 配置API Key拦截器 -->
                <class name="org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyHandler"/>
                <!-- 后续业务逻辑 -->
                <send>
                    <endpoint>
                        <address uri="http://backend-service:8080/data"/>
                    </endpoint>
                </send>
            </inSequence>
            <outSequence>
                <send/>
            </outSequence>
        </resource>
    </api>
    
  • 保存文件后,要么重启MI,要么通过MI控制台的Deploy Artifacts重新部署这个API

方式2:用MI管理控制台配置

  • 登录MI管理控制台(默认地址https://<mi-host>:9445/carbon)
  • 进入Manage > APIs,选中目标API点Edit
  • 在In Sequence里添加多个认证中介:
    • 点Add > Mediator,搜Basic Authentication Handler并添加,配置好用户存储
    • 再添加API Key Handler,完成参数设置
  • 保存更新,配置立即生效

注意点

  • 要确保每种凭证对应的组件在MI里已经启用,比如用OAuth2的话得保证APIM相关特性已安装
  • 多凭证是或的逻辑,请求只要过了其中一种验证就能访问API
  • 如果要实现“同时满足多种凭证”这种复杂逻辑,得自己写自定义认证拦截器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:15:47