回调域名怎么写 回调地址
申请QQ互联网站接入回调地址怎么写
1. 开发者注册
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了月湖免费建站欢迎大家使用!
1. 在QQ互联开放平台首页 ,点击右上角的“登录”按钮,使用QQ账号登录,如下图所示:
重要提示:
开发者QQ号码一旦注册不能变更,建议使用公司公共QQ号码而不是员工私人号码注册,以免遇到员工离职等情况造成不必要的麻烦。
2. 登录成功后会跳转到开发者注册页面,在注册页面需要提交公司或个人的基本资料。下图所示的是公司注册页面:
2. 网站接入申请
网站接入前,需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权。
2.1 添加网站
开发者注册成功后,会跳转到“管理中心”页面。点击添加网站,填写相应的信息,如下图所示:
网站信息填写完成,点击“确定”后,网站注册完成,进入管理中心,在管理中心可以查看到网站获取的appid和appkey,如下图所示:
2.2 网站信息完善
在管理中心,点击申请的网站下的“编辑信息”,进入编辑页面,点击右上角的“编辑”按钮,页面进入编辑状态,即可对网站信息进行修改和完善,如下图所示:
3. 网站开发
进入控制台页面,可以看到网站申请处于“开发”状态。网站上线,首先需对网站进行开发,即完成QQ登录功能并正常放置QQ登录按钮,如下图所示:
3.1 开发流程概述
开发流程主要包括如下几个步骤:
3.1.1 网站上设置QQ登录入口
网站主可以在自己的网站首页入口和主要的登录、注册页面上放置“QQ登录”标识(见红色方框标记处):
3.1.2 用户登录验证和授权
1. 用户点击QQ登录按钮之后,弹出QQ登录窗口,在登录窗口中将显示网站自己的Logo标识,网站名称以及首页链接地址。
如果用户已登录QQ软件,也可以一键快速登录。
如下图所示:
2. 成功登录后,弹出授权框引导用户授权(仅在第一次成功登录,以及第一次访问某个未授权的OpenAPI时会出现授权页),如下图所示:
授权框中的授权列表由网站自行配置,详见scope参数说明。建议控制授权项的数量,只传入必要的接口名称,因为授权项越多,用户越可能拒绝进行任何授权。
3.1.3 登录和授权完成后,跳转回网站
如果用户成功登录并授权,则跳转到指定的回调地址,该回调地址由第三方网站自行配置(在上一步的请求中传入),回调地址建议设置为网站首页或网站的用户中心。
3.1.4 获取并存储access token以及openid
成功登录后,即可发送请求来获取access token以及openid,这两个参数在调用OpenAPI访问和修改用户数据时必须传入,网站需自行绑定或存储:
(1)access token用来判断用户在本网站上的登录状态,具有3个月有效期,用户再次登录时自动刷新。
(2)openid是此网站上唯一对应用户身份的标识,网站可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在网站上的原有账号进行绑定。
3.1.5 在网站上显示用户登录昵称与QQ头像
建议网站调用get_user_info接口,在首页或顶部显示用户通过QQ帐号的登录状态,使用户体验一致,包括用户昵称、QQ头像,如下图所示:
3.2 开发说明
QQ登录功能使用国际通用的OAuth2.0协议进行验证与授权,可通过以下两种方式进行网站开发:
(1)使用QQ互联提供的SDK包,用户体验统一,只需要修改少量代码,不需要理解验证授权流程,需要快速接入QQ登录的应用可选用此方法。
详见:SDK下载
JS SDK详见:JS SDK使用说明
(2)根据QQ登录OAuth2.0协议,自主开发,此方法自定义程度较高,需要与现有系统进行整合的网站可选用此方法。
详见:OAuth2.0开发文档
(3)社区类网站可以使用集成插件快速接入QQ登录。
4. 使用QQ互联提供的OpenAPI
完成网站的开发后,即可在“管理中心”的“控制台”页面,点击“当前流程”下的“申请上线”,流程处于“审核”状态。
提交审核后,腾讯会在两个工作日完成审核,审核通过后,网站即正式上线。
网站上线后,可以使用QQ互联提供的丰富的API资源:
1. 我们提供了各种OpenAPI给开发者,网站可以调用这些API来实现需要的功能,使登录用户在网站上即可访问和修改QQ空间受保护的资源。
详见:API列表 API调用说明
2. 为方便网站快速使用这些API,QQ互联提供了JS-widget, JS-widget是JS封装的SDK,只需要在网站引入JS文件,就可以用封装好的方法访问对应的API,开发简单。
详见:JS SDK使用说明
5. WAP网站接入
上述文档主要是针对WEB以及XHTML格式的网站。
WAP网站接入QQ登录可基于OAuth1.0协议和OAuth2.0协议。
基于OAuth1.0协议:接入过程详见开发攻略。该攻略对于一般网站和WAP网站接入都适用,每一步中WAP网站接入时需特别注意的地方特别用红色标注。
基于OAuth2.0协议:接入过程详见OAuth2.0开发文档。该文档对于一般网站和WAP网站接入都进行了说明。
微信OAuth2.0授权回调页面域名设置问题
当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务,可以这么做:
1. 把公众号的网页授权接口域名设置成另外一个子域名,如proxy.your点抗 ;
2. 然后把php_weixin_proxy里面的index.php部署到proxy.your点抗
php_weixin_proxy下的index.php是一个很简单的php文件,你可以直接查看源码了解它的实现方式。因为当前项目的环境,我采用php来完成这个代理服务实现,实际上,你完全可以用任意平台语言来完成类似的功能。
当其它业务需要发起微信授权时,将授权请求先发到proxy.your点抗 ,然后proxy.your点抗 会把这个请求转发到微信;
当用户同意授权后,proxy.your点抗 会收到微信的授权回调,并把回调结果(code、state参数)原封不动地再返回给最开始发起授权的业务。
唯一的区别在于,在不使用proxy.your点抗 的时候,你从应用发起微信授权的链接应该是这样的:
;redirect_uri=http%3A%2F%2Fpassport.your点抗 %2Fresponse_type=codescope=snsapi_loginstate=584bc87e11ff37492#wechat_redirect
用了proxy.your点抗 之后,这个授权链接就应该是这样的:
;redirect_uri=http%3A%2F%2Fpassport.your点抗 %2Flogin%2Fnotifyresponse_type=codescope=snsapi_basestate=584bc87e11ff37492device=pc
后面这个链接跟上面的比:
1. 后面的链接中的host变成了proxy.your点抗 ,也就是代理的授权回调域名;
2. 后面的多了一个device参数,这个是必要的。因为微信pc端跟移动端的授权地址是不一样的,而后面的链接是发送个proxy.your点抗 的,所以需要多加个参数告诉它在转发给授权申请给微信的时候,是用PC端还是移动端的授权地址。
1. 用户从我们的应用触发需要授权的操作,比如点击微信登录;
2. 应用收到这种用户请求后,将用户重定向到微信提供的一个授权页面:
或
3. 用户通过微信扫码(PC端授权,上边左图)或者点击确认按钮(移动端授权,上边右图)告知微信,授权应用访问自己的微信账号信息;
4. 微信收到用户的授权许可后,生成授权码,并把它作为参数回调至应用的某个页面;
5. 应用的回调页面在接收到微信的回调请求后,拿到其中的授权码,并通过微信官方提供的access token api接口获取access token;
6. 最后通过access token以及微信官方提供的另一个userinfo api接口就能获取到用户的微信账号信息。
为了实现这个过程,首先要为应用申请一个微信公众号,并将应用最终部署的域名设置到微信公众号设置里面的授权回调页面域名这个选项里面。微信官方对这个选项的说明如下:
关于网页授权回调域名的说明
1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:,配置以后此域名下面的页面 、 都可以进行OAuth2.0鉴权。但 、 、 无法进行OAuth2.0鉴权
3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可
由此可见,这个规则极其严格。如果说我们的应用最终部署的时候只有一个域名,那么这种规则不会有什么问题;但是考虑到将来应用的复杂性,我们可能在应用设计之初就会对应用做拆分,然后不同的业务采用不同的二级域名来部署。比如一个带有交易的应用,你可能会把登录注册,交易管理和常规业务都独立出来,然后采用以下的方式来部署它们:
部署常规业务;
trade.your点抗 部署交易管理的业务;
passport.your点抗 部署登录注册的业务;
在这种模式下,如果集成微信登录和微信支付,前面说的授权回调页面域名的规则就会给应用带来问题。在这里:至少可以确认trade.your点抗 和passport.your点抗 都需要前面的介绍的用户微信授权,但是它们是两个不同的子域名,而且我们只有一个公众号;根据授权回调页面域名的原则,它只能用一个域名,并且只有回调地址的域名与该设置完全相同,才能成功发起微信授权,否则就会提示rediret_uri参数错误或者引发无法回调的问题。
那么这种情况该如何处理?
当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务,可以这么做:
1. 把公众号的网页授权接口域名设置成另外一个子域名,如proxy.your点抗 ;
2. 然后把php_weixin_proxy里面的index.php部署到proxy.your点抗
php_weixin_proxy下的index.php是一个很简单的php文件,你可以直接查看源码了解它的实现方式。因为当前项目的环境,我采用php来完成这个代理服务实现,实际上,你完全可以用任意平台语言来完成类似的功能。
当其它业务需要发起微信授权时,将授权请求先发到proxy.your点抗 ,然后proxy.your点抗 会把这个请求转发到微信;
当用户同意授权后,proxy.your点抗 会收到微信的授权回调,并把回调结果(code、state参数)原封不动地再返回给最开始发起授权的业务。
唯一的区别在于,在不使用proxy.your点抗 的时候,你从应用发起微信授权的链接应该是这样的:
;redirect_uri=http%3A%2F%2Fpassport.your点抗 %2Fresponse_type=codescope=snsapi_loginstate=584bc87e11ff37492#wechat_redirect
用了proxy.your点抗 之后,这个授权链接就应该是这样的:
;redirect_uri=http%3A%2F%2Fpassport.your点抗 %2Flogin%2Fnotifyresponse_type=codescope=snsapi_basestate=584bc87e11ff37492device=pc
后面这个链接跟上面的比:
1. 后面的链接中的host变成了proxy.your点抗 ,也就是代理的授权回调域名;
2. 后面的多了一个device参数,这个是必要的。因为微信pc端跟移动端的授权地址是不一样的,而后面的链接是发送个proxy.your点抗 的,所以需要多加个参数告诉它在转发给授权申请给微信的时候,是用PC端还是移动端的授权地址。
整体方案思路:
小结:
这个方案我测试过,是行的通的。虽然说引入了代理服务,增加了一次重定向操作,不过由于这个授权请求并不是所有请求都需要,所以实际上也不会对用户体验产生多大的影响,但是从架构上来说,它的好处很明显,能够配合着应用的拆分逻辑,集成同一个公众号的登录及支付功能,不必为每个子应用都单独申请一个公众号来开发了(这种方式从业务上来说也不合理,一个公司哪需要运营那么多公众号)。
什么是回调地址域名,
如果您的应用是Web应用,则需要在进入正式环境测试时,注册一个回调地址,用户在通过TOP来访问您的应用的时候,TOP会把相关的上下文参数和SessionKey通过这个回调地址传给您。正确的回调地址首先必须满足域名中不含有“taobao、ali、alibaba、hitao、koubei”,其次,回调地址必须能正常打开和访问到您相对应的应用。
QQ互联 提供方和回调地址填什么
第一步
首先来分析一下,假设你申请的QQ互联网站接入的域名为,此时你申请的时候填写的回调地址为,这样的回调地址确实没错,不过这样之后二级域名想使用该QQ互联的appid跟appkey,那就是不可能的任务了。同样如果填写了abc点抗 /qq.php,这种也是不可取的,以后每个调用qq互联接口的地址你都要写死了,如果不是这个地址,接口调用就会提示错误的。下面说明下正确的填写方式。
第二部
首先填写这个回调地址的时候请先阅读腾讯提供的一个说明文档。在左侧回调地址的下面有一个链接,点击进去即可查看。如果“回调地址”改成“回调域名”大家就很好理解了。
第三部
先看下图片,答案应该很明显了,红色标注的文字“只需要填写站点根域名即可”。假设申请域名是,回调地址你就填写abc点抗 ,多个域名的话使用“;”(英文分号)隔开,不要画蛇添足。这样做的好处是后续你网站多级域名均可以使用该appid跟appkey,且多级域名以及根域名下网站接口回调的具体地址可以自由变化,且都合法。
第四部
回调地址就填写不带www的根域名
具体可以参考
文章标题:回调域名怎么写 回调地址
路径分享:http://ybzwz.com/article/ddjhdep.html