回调地址相关问题
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;但是开发商在互联官网注册的回调地址是:example.com,因此属于不符合要求的回调地址;
(2)开发商需要到QQ互联官网上,把回调地址修改为把https://account.example.com/connect/callback/qq, 并去掉example.com;
(3)如果有多个回调地址的需求,可以多个回调,使用";"隔开,如"https://account.example.com/connect/callback/qq;https://account.example.com/connect/qc";
(4)回调域正常情况下不能带#号,如vue(一个网站框架)开发接入qq登录(vue都是带#号的);
(5)回调地址可以加额外的参数,但域名+path部分必须与注册的保持一致;
(6)回调地址既有'/',又有'?'时,后台优先识别'/'。可能会导致主域名识别含有非法字符'?'。
3. 回调地址错误的原因有哪些?
回调地址错误,会返回错误码:100010。 回调地址错误的原因如下:
(1)没有传入域名;
(2)redirect_uri字段是否有正确编码,请使用urlencode进行编码;
(3)传入的域名与申请接入时填写的回调地址域名冲突。 例如:申请时填写的回调地址是:http://example.com/qqlogin,传入的是http://example.com则会返回错误码,需保证填写的回调地址和请求的一致;
(4)回调地址这里不能用端口号和localhost,必须要是外网可以访问的域名;
(5)回调地址设置最多支持1024长度。
4.回调地址可以支持多个吗?
支持填写多个回调地址,修改回调地址无需审核。由于缓存的关系,通常最迟会延时30分钟同步。
5. 如何修改回调地址?
step1:点击 “应用管理”;
step2:找到需要修改回调地址的应用,点击“查看”;
step3:在基本信息页面选择“修改”;
step4:修改回调地址,可填写多个根域名,以分号分隔,注意此处要包含“http://”部分。