淘东电商项目(28) -QQ授权登录实现思路

简介: 淘东电商项目(28) -QQ授权登录实现思路

由于QQ授权登录需要申请账号、以及需要提供外网的地址,备案号等等。「淘东项目」所以就不讲解QQ授权了,其它的授权登录都大同小异,下面来说说实现思路。

OAuth2.0其授权验证流程示意图如下(图片来源:OAuth2.0协议草案V21的4.1节

首先我们一QQ授权登录为例子,熟悉一下OAuth2.0的基本思路:

  1. 生成QQ联合登陆授权链接,会跳转到授权界面(如下图:): url:https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=申请后的clientId&redirect_uri=申请授权成功后跳转的url

  2. (腾讯)用户选择账号后,使用重定向方式跳转回调地址 http://跳转的url 传递一个code参数
  3. code作用授权码,使用code参数获取accessToken
  4. 使用accessToken获取用户信息(openid、头像、QQ年龄之类)

代码思路如下:

1.编写授权链接接口

2.编写授权回调接口

  • 获取到授权码
  • 使用授权码获取accessToken
  • 使用accessToken获取用户openid

3.使用openid查询数据库user信息表中是否有关联

SELECT * FROM user where QQ_OPENID='4130A96EDE4187C8FD6BB055CC542B40';
  • 如果使用openid能够查询用户信息,说明用户已经绑定成功,自动实现登陆
  • 如果使用openid没有查询到用户信息的话,说明用户没有绑定账信息,跳转到关联账号页面
  • 关联成功账号之后,将openid修改为对应的账号信息。
update user set QQ_OPENID ='4130A96EDE4187C8FD6BB055CC542B41' where USER_ID='111';

当然,腾讯已经封装好了SDK了,详细说明可以参考开发者文档:http://wiki.connect.qq.com/

目录
相关文章
|
6天前
|
移动开发
订水商城H5实战教程-03用户协议
订水商城H5实战教程-03用户协议
|
6天前
|
前端开发 NoSQL 数据库
如何设计 QQ、微信、微博、Github 等等,第三方账号登陆 ?(附表设计)
如何设计 QQ、微信、微博、Github 等等,第三方账号登陆 ?(附表设计)
26 1
|
6天前
|
前端开发 NoSQL 数据库
设计 QQ、微信等第三方账号登陆
设计 QQ、微信等第三方账号登陆
20 0
设计 QQ、微信等第三方账号登陆
|
6月前
|
缓存 NoSQL 数据可视化
淘东电商项目(14) -公众号获取注册码功能
淘东电商项目(14) -公众号获取注册码功能
44 0
|
6月前
|
前端开发 JavaScript Java
淘东电商项目(24) -获取验证码功能
淘东电商项目(24) -获取验证码功能
38 0
|
6月前
|
XML JSON 程序员
以程序员的身份,教您使用API接口获取虾皮商品详情
作为一名程序员,我深知在使用虾皮(Shopee)电商平台进行业务开发时,通过API接口获取商品详情的重要性。本文将引导您逐步了解和使用虾皮的API接口,从而轻松获取商品详情数据,为您的业务提供有力支持。
|
6月前
|
NoSQL 前端开发 数据库
淘东电商项目(36) -SSO单点登录(退出功能)
淘东电商项目(36) -SSO单点登录(退出功能)
32 0
|
6月前
|
前端开发 NoSQL 数据库
淘东电商项目(26) -门户登录功能
淘东电商项目(26) -门户登录功能
24 0
|
6月前
|
JSON 前端开发 NoSQL
淘东电商项目(27) -门户登出功能
淘东电商项目(27) -门户登出功能
28 0
|
6月前
|
移动开发 NoSQL Redis
淘东电商项目(35) -SSO单点登录(登录功能完善)
淘东电商项目(35) -SSO单点登录(登录功能完善)
50 0