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

Authorization Code Flow实现及Code参数获取方法咨询

用Authorization Code模式对接WSO2 Identity Server的实现方案

先在WSO2 IS端完成配置

  • 登录WSO2 IS管理控制台,新建OAuth2应用时必须勾选Authorization Code授权类型,填写和应用后端一致的回调URL(比如http://localhost:8080/callback),保存后记录生成的client_id和client_secret。
  • 给应用配置所需权限:要么让关联的用户角色拥有internal_user_mgt_create这类scope的权限,要么直接在应用的允许scope列表中添加目标权限。

Authorization Code的获取方式

当用户需要执行创建用户等权限操作时,引导用户跳转到WSO2 IS的授权端点,构造的跳转URL示例如下:

https://localhost:9443/oauth2/authorize?response_type=code&client_id=你的客户端ID&redirect_uri=你的回调URL&scope=internal_user_mgt_create&state=随机字符串
  • 其中state是你自定义的随机字符串,用于防范CSRF攻击,回调时会原样返回,需验证一致性。

用户在WSO2 IS登录页完成认证后,会自动重定向到你配置的回调URL,此时URL的查询参数中会携带code(授权码)和state,比如:

http://localhost:8080/callback?code=AUTH_CODE_VALUE&state=你之前生成的随机串

你的应用后端直接从请求中提取code参数即可。

用Authorization Code换取Access Token

拿到code后,后端发起POST请求到WSO2 IS的令牌接口https://localhost:9443/t/carbon.super/oauth2/token,以表单格式传递以下参数:

grant_type=authorization_code
client_id=你的客户端ID
client_secret=你的客户端密钥
code=刚获取的授权码
redirect_uri=你的回调URL

请求成功后会返回包含access_token的JSON响应,后续即可用该令牌调用WSO2 SCIM2.0 API执行创建用户等操作。

关键注意事项

  • 授权码code仅能使用一次,过期或失效后需重新引导用户走授权流程。
  • 回调URL必须与WSO2 IS应用配置中的值完全一致,否则无法正常返回授权码。
  • 生产环境务必使用HTTPS协议,避免敏感参数明文传输。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 18:43:12