WSO2 Identity Server 6.1.0配置Google联邦认证回调URL不匹配求助
解决WSO2 IS中"Registered callback does not match with the provided url"错误
以下是针对该回调URL不匹配问题的排查和解决步骤:
1. 确认应用实际发送的回调URL
用浏览器开发者工具(按F12打开)抓包:
- 点击登录按钮后,找到发往WSO2 IS的
/oauth2/authorize请求,查看其中的redirect_uri参数值。 - 把这个值和服务提供者里注册的
http://localhost.com:8080/pickup-dispatch/oauth2client做对比,重点检查:是否有大小写差异、末尾是否多了斜杠、域名/端口拼写是否一致(比如localhost和localhost.com是两个不同的域名)。
2. 核对服务提供者的回调配置
登录WSO2 IS的Carbon控制台:
- 进入服务提供者,找到对应的pickup-dispatch条目,打开OAuth/OpenID Connect配置。
- 确保注册的回调URL和抓包得到的
redirect_uri完全一致,哪怕是一个字符的差异都会导致不匹配。
3. 检查Google联邦认证器的回调配置
虽然错误来自OAuth2流程,但也要确认Google端的配置:
- 登录Google Cloud控制台,找到你的OAuth 2.0客户端ID,检查已授权的重定向URI是否设置为WSO2 IS的
/commonauth地址(比如https://<你的IS域名>:<端口>/commonauth),这个地址要和WSO2 IS中Google认证器的配置一致。
4. 检查应用端的配置文件
打开pickup-dispatch应用的配置文件(比如oauth.properties),确认其中的redirectUri参数值和服务提供者里注册的完全一致,没有拼写错误。
5. 开启详细日志定位问题
如果以上步骤都没解决,开启WSO2 IS的OAuth详细日志:
- 编辑
repository/conf/log4j2.properties,添加:logger.oauth2.name = org.wso2.carbon.identity.oauth2 logger.oauth2.level = DEBUG - 重启WSO2 IS,重新触发登录流程,查看日志中关于回调URL对比的详细信息,就能明确具体差异点。
内容的提问来源于stack exchange,提问作者user666
相关产品推荐
相关产品推荐

