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

如何通过SOAP请求在WSO2服务提供商中添加OAuth/OpenID配置

通过SOAP请求为WSO2服务提供商添加OAuth/OpenID Connect配置操作指南

前置准备

  • 确认你使用的WSO2 Identity Server版本适配对应管理服务API,以下为WSO2 IS 5.10+版本通用操作逻辑
  • 提前获取拥有服务提供商操作权限的管理员账号凭据,生产环境请替换默认的admin账号
  • 所有配置类请求都需要携带管理员身份认证后的会话Cookie,需先完成身份校验再调用配置接口

第一步:获取管理员会话Cookie

调用AuthenticationAdmin服务的login接口获取认证凭证,请求样例如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="http://authentication.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <aut:login>
         <aut:username>你的管理员账号</aut:username>
         <aut:password>你的管理员密码</aut:password>
         <aut:remoteAddress>调用端IP地址</aut:remoteAddress>
      </aut:login>
   </soapenv:Body>
</soapenv:Envelope>

请求地址为https://<WSO2_IS_HOST>:<PORT>/services/AuthenticationAdmin,请求头设置Content-Type: text/xml,请求成功后从响应头提取JSESSIONID作为后续请求的Cookie凭证,请求未携带有效Cookie会直接返回401未授权错误。

第二步:添加OAuth/OpenID Connect配置

调用IdentityApplicationManagementService服务的对应接口,服务提供商已存在就调用updateApplication接口,未存在就调用createApplication接口,请求体中需包含OAuth/OIDC相关配置参数,完整请求样例(更新已存在服务提供商场景)如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://model.common.application.identity.carbon.wso2.org/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:updateApplication>
         <xsd:applicationName>已存在的服务提供商名称</xsd:applicationName>
         <xsd:applicationDTO>
            <xsd:applicationName>你的服务提供商名称</xsd:applicationName>
            <xsd:description>服务提供商描述</xsd:description>
            <xsd:inboundProtocols>
               <xsd:type>oauth2</xsd:type>
               <xsd:properties>
                  <xsd:name>OAuthClientConfiguration</xsd:name>
                  <xsd:value>
{
  "callbackUrl": "https://你的应用回调地址",
  "grantTypes": "authorization_code,refresh_token,client_credentials",
  "tokenType": "JWT",
  "accessTokenValidity": 3600,
  "refreshTokenValidity": 86400,
  "idTokenValidity": 3600,
  "publicClient": false,
  "skipConsent": true
}
                  </xsd:value>
               </xsd:properties>
            </xsd:inboundProtocols>
         </xsd:applicationDTO>
      </xsd:updateApplication>
   </soapenv:Body>
</soapenv:Envelope>

请求地址为https://<WSO2_IS_HOST>:<PORT>/services/IdentityApplicationManagementService,请求头除Content-Type: text/xml外,必须携带第一步获取的Cookie: JSESSIONID=xxxxxx参数。

第三步:配置校验

请求成功后可以调用同一服务的getApplication接口查询服务提供商详情,确认OAuth/OIDC配置已写入,也可以直接在WSO2管理控制台的服务提供商详情页,查看入站认证配置下的OAuth/OpenID Connect配置项是否符合预期。

注意:如果你的WSO2实例开启了CSRF防护,需要在请求头中额外携带X-CSRF-Token参数,该参数可从第一步登录接口的响应头中获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 12:24:06