回调地址常见问题及修改方法
1. 什么是回调地址?
用户点击QQ登录跳转到QQ登录页面,登录成功后,应该跳转回网站。回调地址即在这里用来指定跳转回网站的URL。回调地址注册的目的是为了保障第三方APPID帐户的安全,以免被其他恶意网站盗用。需注意:1. 需要填写到站点接收qq登录信息的接口 例如:http://网站首页域名/api/oauth/QQ/callback.php ;2. 具体跳转URL将在程序中指定路径以及请求参数进行构造。
2.什么样的回调地址才满足加强校验的条件?
QQ互联登录返回给开发商的code,会传到开发商指定的专门处理code的URL,而不是域名下任意的URL,举个例子
1). 比如开发商处理QQ互联返回的Code的URL是
https://account.example.com/connect/callback/qq
2). 但是开发商在互联官网注册的回调地址是:example.com,因此属于不符合要求的回调地址。
3). 开发商需要到QQ互联官网上,把回调地址修改为把https://account.example.com/connect/callback/qq, 并去掉example.com。
4). 如果有多个回调地址的需求,可以多个回调,使用”;”隔开,如”https://account.example.com/connect/callback/qq;https://account.example.com/connect/qc”
3. 回调地址错误的原因有哪些?
回调地址错误,会返回错误码:100010。 回调地址错误的原因如下: (1)没有传入域名; (2)传入的域名与申请接入时填写的回调地址域名冲突。 例如:申请时填写的回调地址是:http://example.com/qqlogin,传入的是http://example.com则会返回错误码,需保证填写的回调地址和请求的一致。
其他解决方案:
另外需要注意的一个问题是回调地址的填写是可以填写多个的用英文的;分割,别傻不拉唧的只填写一个,也别只填写一个根域名,可以写二级域名的。
回调地址设置问题
100010报错解析方法:打开http://open.qq.com/tools?act=url_encode =》复制QQ授权登录页面(100010报错页面)的全部地址 =》 URL编码解码工具=》URL解码。
解码之后查看实际回调地址(redirect_uri=之后到第一个&符号或者问号截止的部分)是否与QQ互联里网站回调域里填写的地址一致。不一致就会报错,修改设置使两个地方的回调地址保持一致即可解决。
可以先自己解析看看
回调地址验证机制已经调整,现在是全路径验证。
设置规则:1、网站程序和QQ互联管理中心的回调都要使用完整的带http的URL;2、网站程序和QQ互联管理中心两个地方设置的回调地址必须完全一致
比如:QQ互联管理中心应用资料里面填写的回调地址是http://www.xxx.com/xxx/ 那么网站实际配置的回调 redirect_uri=必须是http://www.xxx.com/xxx/参数(此处是否带参数自行决定)