淘东电商项目(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/

目录
相关文章
|
3月前
|
安全 UED 开发者
微信扫码登录--设计技术分享
【8月更文挑战第7天】在当今的数字化时代,微信扫码登录已成为众多网站和应用提升用户体验、简化登录流程的重要手段。本文将围绕微信扫码登录的设计原理、实现步骤及关键技术点进行技术分享,帮助开发者更好地理解和应用这一功能。
187 0
|
缓存 NoSQL 数据可视化
淘东电商项目(14) -公众号获取注册码功能
淘东电商项目(14) -公众号获取注册码功能
62 0
|
6月前
|
前端开发 NoSQL 数据库
如何设计 QQ、微信、微博、Github 等等,第三方账号登陆 ?(附表设计)
如何设计 QQ、微信、微博、Github 等等,第三方账号登陆 ?(附表设计)
64 1
|
6月前
|
前端开发 NoSQL 数据库
设计 QQ、微信等第三方账号登陆
设计 QQ、微信等第三方账号登陆
64 0
设计 QQ、微信等第三方账号登陆
|
6月前
|
存储 安全 前端开发
如何实现扫码登陆 & 扫码登陆原理
如何实现扫码登陆 & 扫码登陆原理
195 0
|
前端开发 NoSQL 数据库
淘东电商项目(26) -门户登录功能
淘东电商项目(26) -门户登录功能
38 0
|
JSON 前端开发 NoSQL
淘东电商项目(27) -门户登出功能
淘东电商项目(27) -门户登出功能
45 0
|
存储 前端开发 NoSQL
如何设计 QQ、微信等第三方账号登陆 ?还要我说出数据库表设计!
如何设计 QQ、微信等第三方账号登陆 ?还要我说出数据库表设计!
309 2
|
XML 缓存 NoSQL
手把手实现第三方社交登录方式微信登录
手把手实现第三方社交登录方式微信登录
167 0
|
Java Maven
集成一个以官网(微信,QQ,微博)为标准的登录分享功能
今天要分享的是一个老生常谈的一个功能,也是网上一搜一大片的技术点,没什么技术含量,就是整合一下,提供一下方便,相对于友盟,ShareSdk中夹杂着一些别的功能,此文封装的绝对纯净,除了官网所提供的,不夹杂任何的代码逻辑,登录就是登录,分享就是分享,实实在在的以官网为标准。
123 0
下一篇
无影云桌面