土豆网(第三方网站)使用qq登录的步骤和原理------oAuth协议

322 篇文章 11 订阅
133 篇文章 57 订阅

        这年头, 大家应该都玩过qq, 也有qq号码.  如果我们访问第三方网站(如土豆网), 但又嫌麻烦而不想注册土豆网, 那怎么办呢?  此时,可以利用土豆网提供的qq登录功能。 相当于是土豆网借用qq的账号体系, 省去了用户重新注册土豆网的流程, 让土豆网在qq账号体系下, 茁壮成长。

        我们肯定不敢把qq号码/密码交给土豆网, 然后让土豆网去qq后台完成验证啊。 谁知道土豆网会不会私自保留我们的qq号码/密码做坏事呢? 所以, 得想其他办法, 这就是oAuth协议要解决的问题。

        百闻不如一见, 我们来看看相关介绍吧, 具体信息请参考腾讯开放平台

 

 

网站接入概述

目录

[ 隐藏]

1. 网站接入介绍

QQ互联开放平台为第三方网站提供了丰富的API。第三方网站接入QQ互联开放平台后,即可通过调用平台提供的API实现用户使用QQ账号登录网站功能,且可以获取到腾讯QQ用户的相关信息。
第三方网站也可以调用腾讯方提供的API实现网站的分享、评论、邀请等功能,即网站的社交化功能。且可以将相关信息同步到QQ空间、腾讯朋友、腾讯微博等平台,建立网站与腾讯各平台的互动关系,利用庞大的QQ用户群来实现网站的快速传播。

网站接入QQ互联开放平台后,您将获得:

海量新用户:用户使用已有的QQ号码即可登录网站,QQ一键登录更可减少登录交互操作,大大降低网站注册门槛,给网站带来海量新用户。
 

活跃的访问量:已登录用户可以将在网站上发布、分享的信息即时同步到QQ空间,使网站内容通过QQ好友关系链得到进一步的传播,从而提升网站的访问量。
 

丰富的开放API:网站可以通过用户资料接口获取用户的空间昵称和头像,来丰富用户注册资料。此外,还可以通过说说,相册,日志等开放接口使用户直接在网站上访问或修改他们在QQ空间、腾讯朋友、腾讯微博上的数据,与腾讯各平台实现更进一步的互联互通。

2. 网站接入方式

第三方网站主要通过使用“QQ登录”接入QQ互联开放平台。
详细的接入指引请参见网站接入流程

“QQ登录”是QQ互联开放平台提供给第三方网站的一种服务。

“QQ登录”可以让用户使用QQ帐号在第三方网站上登录,分享内容、同步信息,大大降低了用户注册的门槛。

同时,第三方网站根据用户提供的绑定信息,将用户在网站上发布的内容同步发布到QQ空间的个人动态中,从而借助QQ空间庞大的用户群,使网站的信息能通过好友关系得到进一步的传播,提升网站的访问量和用户数。

 

3. 使用QQ登录效果展示

下面描述了一个网站使用“QQ登录”,并访问和修改QQ用户个人信息的整个过程。

注意: 
这里的描述意在简单的向网站开发者演示接入“QQ登录”需要进行哪些工作,以及效果如何。

3.1 网站上设置QQ登录入口

网站开发者可以在自己的网站首页入口和主要的登录、注册页面上放置“QQ登录”标识(见红色方框标记处):

connect_summary_1.png 
 

3.2 用户选择用QQ帐号登录

用户点击按钮之后弹出QQ登录的窗口,在登录窗口中将显示网站自己的Logo标识,网站名称以及首页链接地址。
如下图所示:
connect_summary_7.png 

如果用户已登录QQ软件,就不用重复输入账号密码,可以一键实现快速登录。
如下图所示: connect_summary_2.png 
 

3.3 用户授权

用户首次使用“QQ登录”成功登录网站后,将出现授权对话框,用户可以选择授权允许网站访问自己的相关信息:
connect_summary_3.png 
 

3.4 用户进行帐号绑定

若用户已在该网站注册,则网站可引导用户进行帐号绑定,下次使用QQ帐号登录时,可以同时看到两个帐号的所有信息。
强烈建议网站允许跳过此步,而让用户在登录成功后,在网站设置中选择性绑定,以降低用户登录门槛,提升体验。如下图所示: 
connect_summary_4.png 
 

3.5 用户成功登录网站

用户授权后成功登录网站,在网站上显示用户登录昵称与QQ头像。
建议网站在首页或顶部显示用户通过QQ帐号的登录状态,使用户体验一致,包括用户昵称、QQ头像,如下图所示:

connect_summary_5.png 
 

3.6 网站调用OpenAPI来访问和修改QQ用户受保护的个人信息

网站上线后,可以使用QQ互联提供的丰富的API资源:
-借助QQ庞大的用户资料库更详细深入的理解用户;
-同步用户动态,借助QQ空间、腾讯朋友、腾讯微博三大SNS平台对网站内容进行传播;
-获得腾讯三大SNS平台能力,借助关系链增加网站上的用户活跃;
-增加网站对应认证空间的粉丝…
 

下图展示了使用分享API同步网站动态到QQ空间的效果,从而使更多的用户看到该动态,增加网站的知名度。
connect_summary_6.png



我们提供了各种网站接入OpenAPI给开发者,网站可以调用这些API来实现需要的功能,使登录用户在网站上即可访问和修改QQ用户受保护的个人信息。
 

4. 网站接入流程

详情请参见:网站接入流程

5.登录框样式

网站可以选择我们提供的登录样式,也可以根据需要自定义调整样式。

参考图标:

bt_92X120.png
(大图标 92*120)

bt_blue_76X24.png
(蓝色76*24)

bt_white_76X24.png
(灰色76*24)

bt_blue_24X24.png
(蓝色24*24)

bt_white_24X24.png
(灰色24*24)
 
 
 
 
 
         那么, 作为土豆网开发者, 具体该怎么做呢?
 

网站接入流程

网站通过以下几个步骤,即可接入互联开放平台:
开发者注册 > 网站申请 > 网站开发 > 调用OpenAPI
 

目录

[ 隐藏]

1. 开发者注册

1. 在QQ互联开放平台首页 http://connect.qq.com/ ,点击右上角的“登录”按钮,使用QQ账号登录,如下图所示:

重要提示: 
开发者QQ号码一旦注册不能变更,建议使用公司公共QQ号码而不是员工私人号码注册,以免遇到员工离职等情况造成不必要的麻烦。


web_access_procedure_1.png 

2. 登录成功后会跳转到开发者注册页面,在注册页面需要提交公司或个人的基本资料。下图所示的是公司注册页面:
web_access_procedure_2.png 
 

2. 网站接入申请

网站接入前,需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权。

2.1 添加网站

开发者注册成功后,会跳转到“管理中心”页面。点击添加网站,填写相应的信息,如下图所示:
web_access_procedure_3.png 

网站信息填写完成,点击“确定”后,网站注册完成,进入管理中心,在管理中心可以查看到网站获取的appid和appkey,如下图所示:
web_access_procedure_4.png 

2.2 网站信息完善

在管理中心,点击申请的网站下的“编辑信息”,进入编辑页面,点击右上角的“编辑”按钮,页面进入编辑状态,即可对网站信息进行修改和完善,如下图所示:
web_access_procedure_6.png

 

3. 网站开发

进入控制台页面,可以看到网站申请处于“开发”状态。网站上线,首先需对网站进行开发,即完成QQ登录功能并正常放置QQ登录按钮,如下图所示:
web_access_procedure_5.png
 

3.1 开发流程概述

开发流程主要包括如下几个步骤:

3.1.1 网站上设置QQ登录入口

网站主可以在自己的网站首页入口和主要的登录、注册页面上放置“QQ登录”标识(见红色方框标记处):

connect_summary_1.png



网站需要下载官方提供的“QQ登录”按钮图片,并按照UI规范将按钮放置在页面合适的位置。
按钮图标下载 按钮放置规范

3.1.2 用户登录验证和授权

1. 用户点击QQ登录按钮之后,弹出QQ登录窗口,在登录窗口中将显示网站自己的Logo标识,网站名称以及首页链接地址。
如果用户已登录QQ软件,也可以一键快速登录。
如下图所示:

OAuth_guide_V2_3.png 
 

2. 成功登录后,弹出授权框引导用户授权(仅在第一次成功登录,以及第一次访问某个未授权的OpenAPI时会出现授权页),如下图所示:
OAuth_guide_V2_6.png 

授权框中的授权列表由网站自行配置,详见scope参数说明。建议控制授权项的数量,只传入必要的接口名称,因为授权项越多,用户越可能拒绝进行任何授权。

具体实现详见:
开发攻略_Server-side的Step2和Step3 
开发攻略_Client-side的Step2 

 

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头像,如下图所示:

connect_summary_5.png 
 

详见:get_user_info

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网站接入都进行了说明。

 

 

 

        

 

 

API列表

特别声明:
add_share和add_one_blog接口已于2014.3.31正式下线。请PC网站调用PC空间分享组件,移动端下载最新版本的SDK后调用shareToQQshareToQzone接口,以满足用户分享一条动态(feeds)到QQ空间的功能。 

分组名称适用平台API接口功能说明备注
访问用户资料网站、移动get_user_info获取登录用户的昵称、头像、性别 
get_simple_userinfo
访问用户QQ会员信息仅移动get_vip_info获取QQ会员的基本信息需要申请
get_vip_rich_info获取QQ会员的高级信息
访问我的空间相册网站、移动list_album获取用户QQ空间相册列表需要申请
upload_pic上传一张照片到QQ空间相册

 

add_album在用户的空间相册里,创建一个新的个人相册

 

list_photo获取用户QQ空间相册中的照片列表

 

关注该网站认证空间网站、移动check_page_fans判断是否认证空间粉丝 
访问我的腾讯微博资料网站、移动get_info获取登录用户在腾讯微博详细资料 
分享内容到我的腾讯微博网站、移动add_weibo(将逐步被add_t替换)发表一条微博 
add_t发表一条微博
del_t删除一条微博
add_pic_t发表一条带图片的微博
get_repost_list获取单条微博的转发或点评列表
获得我的微博好友信息网站、移动get_other_info获取他人微博资料 
get_fanslist我的微博粉丝列表
get_idollist我的微博偶像列表
add_idol收听某个微博用户
del_idol取消收听某个微博用户
访问我的财付通信息网站、移动get_tenpay_addr在这个网站上将展现您财付通登记的收货地址需要申请

 

 

 

        第三方登录和oAuth协议就是这么简单。

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值