WSO2 API Manager(wso2am-4.0.0)回调URL填写后无法识别问题
WSO2 AM 4.0.0 授权码模式填了回调URL仍提示为空的解决方法
问题场景
- 使用版本:wso2am-4.0.0
- 操作路径:在DevPortal(开发者门户)创建应用,勾选启用Code Grant Type(授权码授权类型)
- 异常表现:已填写Callback URL(回调URL),提交时仍弹出报错:Call back URL can not be empty when Implicit or Authorization Code grants are selected.(选择隐式授权或授权码授权类型时,回调URL不能为空)
修复方案
按优先级从高到低排查:
- 修复前端交互未触发校验的问题
该版本DevPortal存在已知前端交互bug:直接粘贴回调URL到输入框后,若未触发输入框失焦事件,表单校验逻辑无法读取到已填入的值,会误判字段为空。
操作方式:填完回调URL后,点击输入框外空白区域、或按下回车键触发字段校验,确认输入框无格式错误提示后再提交。 - 修正回调URL格式问题
若回调URL不符合内置校验规则,前端会静默清空输入值,触发相同报错,合法回调URL需满足:- 必须携带协议头,支持
http://、https://,本地调试可使用http://localhost开头地址,禁止填写无协议的纯域名、路径片段 - 不可包含未编码的特殊字符(空格、中文、未转义的特殊符号),带查询参数的地址需提前做URL编码
- 配置多个回调地址时需用英文逗号分隔,不可插入换行,每个地址都要符合上述格式要求
- 必须携带协议头,支持
- 调整授权类型勾选顺序
若先勾选授权码/隐式授权类型,再填写回调URL,表单初始化时已标记回调字段为空,后续填值不会更新校验状态。
操作方式:先取消勾选Authorization Code、Implicit两类需要回调地址的授权类型,填完回调URL并通过格式校验后,再重新勾选对应授权类型提交。 - 兜底修复方案
上述操作无效时按以下步骤处理:- 清除浏览器对应站点的缓存、Cookie,重新登录DevPortal后重试
- 登录Carbon管理控制台,进入应用配置管理路径,直接编辑对应应用的回调URL字段保存,绕开DevPortal前端校验问题
- 升级WSO2 AM 4.0.0到最新更新补丁包,官方已在后续补丁中修复该前端校验逻辑bug
内容的提问来源于stack exchange,提问作者Lilan Mihiranga
相关产品推荐
相关产品推荐

