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

目录
相关文章
|
10月前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
弹性计算 资源调度 Kubernetes
Flink三种集群模式,Standalone模式,Flink On YARN,Flink On K8S,这三种模式有啥优缺点,生产环境如何选择呢?
Flink三种集群模式,Standalone模式,Flink On YARN,Flink On K8S,这三种模式有啥优缺点,生产环境如何选择呢?
1705 3
|
Kubernetes 负载均衡 安全
Cilium使用 (Cilium 3)
Cilium使用 (Cilium 3)
289 6
|
9月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
515 5
|
10月前
|
弹性计算 固态存储 Linux
阿里云服务器、轻量应用服务器、gpu云服务器收费标准与实时活动价格参考
云服务器ECS、轻量应用服务器和gpu云服务器是阿里云的主要云服务器产品,目前轻量应用服务器2核2G收费标准为60元/月,活动价格只要36元/1年或68元1年,云服务器1核1G包月收费标准最低为24.0元/月,GPU云服务器中gn6i实例4核15G配置月付1681.00/1个月起,gn6v实例8核32G配置月付3817.00/1个月起。本文为大家整理汇总了阿里云服务器、轻量应用服务器、gpu云服务器的最新收费标准与活动价格情况,以表格形式展示给大家,以供参考。
探索Linux操作系统的内核模块
本文将深入探讨Linux操作系统的核心组成部分——内核模块,揭示其背后的工作机制和实现方式。我们将从内核模块的定义开始,逐步解析其加载、卸载以及与操作系统其他部分的交互过程,最后探讨内核模块在系统性能优化中的关键作用。
|
10月前
|
网络协议 关系型数据库 MySQL
MySQL报ERROR 2002 (HY000)解决
通过上述步骤,可以有效地解决MySQL连接时出现的 `ERROR 2002 (HY000)`错误。这些步骤包括检查和启动MySQL服务、配置文件检查、套接字文件检查、日志文件分析、进程检查、防火墙设置、客户端配置和最终的MySQL重装。确保每个步骤都按顺序执行,有助于快速定位和解决问题,使MySQL服务器恢复正常运行。
7169 0
|
数据安全/隐私保护
硬盘坏道如何检测和修复?
本文介绍了硬盘坏道的概念,包括逻辑坏道和物理坏道的区别,并提供了使用DiskGenius检测和修复坏道的步骤。当硬盘出现坏道且包含重要数据时,应立即备份数据,使用数据恢复软件,或在严重情况下寻求专业帮助。保护和恢复数据是应对硬盘坏道的关键。
|
开发者 芯片 异构计算
无影开发者空间
无影开发者空间致力于为开发者提供学习和创造服务,通过云上创建的独立环境,为开发者提供可重现,可持久化,可协作,可集成的一站式空间。
999 4
无影开发者空间
|
人工智能 Linux API
linux系统中利用QT实现语音识别项目的操作方法
linux系统中利用QT实现语音识别项目的操作方法
403 0