第三方登陆

一、为什么要使用第三方登录?

1、用户不需要单独在注册账号 【用户不会记住很多网站的账号】

2、提高用户体验,省去繁琐的注册流程

3、有助于网站的推广。


二、使用第三方登录之前的准备工作

1、去开放平台申请账号

新浪 :http://open.weibo.com/

腾讯 :http://open.qq.com/

2、申请app_id和app_key

具体按照步骤申请就可以

 

三、第三方登录原理说明

1、简单来说,在用户点击登录按钮的时候,需要根据网站的appid生成一个临时的code [ 这一步相当于一个什么步骤,我们网站作为第三方登录网站的应用,告诉第三方服务,当前过来的请求是合法的,让第三方服务认可我们本次请求 ]

2、之后引导用户到第三方登录界面,在第三方登录界面用户输入用户名和密码,第三方验证完成之后,会引导用户到授权页面

3、在用户授权之后,我们拿着用户授权之后的code去向第三方服务获取可以拉取数据的access_token [ 本次请求需要带着我们在第三方服务申请的appid和appkey ]

4、在access_token有效期内获取用户对应的数据 [ 登录只需要用户的唯一标识就可以了 ]

四、Oauth 2.0是什么?

Auth(开放授权)是一个开放标准。

允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息。而这种授权无需将用户提供用户名和密码提供给该第三方网站。OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。

五、关于第三方账号和业务系统账号绑定

1、绑定流程


2、绑定说明

如果只是单纯的做第三方用户登录是没有任何意义的,每次第三方登录之后,就在我们的系统表示下当前登录用户,当用户过段时间再次来到我们网站,登录之后相对于之前是一个新的用户,这样做是不符合实际使用场景的。

我们在做新浪微博或者QQ登录的时候,在第三方系统中都会存在一个唯一表示当前用户的标记【新浪微博为user_id,QQ为open_id】,当我们在第三方登录成功之后,需要我们系统有一个绑定的流程,把我们的系统账号和第三方的账号绑定。

在这个用户下次通过第三方登录进入到我们系统的时候,需要我们根据第三方登录的唯一表示,确定当前登录的第三方用户和我们业务系统那个账号关联,当第三方登录成功之后,需要我们动态的把我们系统的账号设置为登录状态。

六、第三方登录相关资料

新浪微博:

主页:http://open.weibo.com/

SDK下载地址:http://open.weibo.com/wiki/SDK

文档:http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6

公共返回码说明:http://open.weibo.com/wiki/Error_code

腾讯qq:

 

主页:http://open.qq.com/

SDK下载地址:http://wiki.connect.qq.com/sdk%e4%b8%8b%e8%bd%bd

素材的下载:http://wiki.connect.qq.com/%e8%a7%86%e8%a7%89%e7%b4%a0%e6%9d%90%e4%b8%8b%e8%bd%bd

文档:http://wiki.connect.qq.com/OAuth2.0%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3

公共返回码说明:http://wiki.open.qq.com/wiki/%E5%85%AC%E5%85%B1%E8%BF%94%E5%9B%9E%E7%A0%81%E8%AF%B4%E6%98%8E




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值