1 了解Oauth协议

  OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

允许用户提供一个令牌而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。

2授权流程

  微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。

  1 首先通过连接争取用户扫码同意之后获取code,这个code,有效期很短所以应该快速进行,

    注:这里表示的是跳转至注册码界面,让用户扫描登录,这里是微信的页面

  2 通过code参数加上AppID和AppSecret等,通过API换取access_token;

    注:access_token是有有效期的,所以这个需要进行刷新的,但是获取的openid是唯一的

  3 通过access_token 换用户信息

3 网页授权实现自动登录的实现思路

  当授权之后,我们是可以获取到用户openid,这个数据时唯一的,那么我们可以将这个数据存入数据,保证用户的唯一性,当用户下次登录的时候就可以根据这个openid来查询用户信息,当用户扫描授权登录之后,我们可以获取到用户的openid,那么可以进行根据这个用户的openid进行查询用户是否注册,如果没有注册跳转至绑定信息页面,让用户与网站独立的信息进行关联,如果注册过,那么可以根据这个openid获取到网站用户的信息来让用户登录

具体的链接在

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

微信开发平台,根据以上步骤一步步实现就额可以了。

那么qq授权登录也是如此。

转载于:https://www.cnblogs.com/xiufengchen/p/10514549.html

微信扫码登录实现思路相关推荐

  1. 微信扫码登录网页实现原理

    扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用"扫一扫"功能扫描网页上的二维码 手机扫描成功后,提示"登录网 ...

  2. (转)微信扫码登录网页实现原理

    扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用"扫一扫"功能扫描网页上的二维码 手机扫描成功后,提示"登录网 ...

  3. SpringBoot整合微信扫码登录

    SpringBoot整合微信扫码登录 准备工作 基本思路流程 搭建SpringBoot 引入依赖 加入配置文件 代码实现 工具类 controller层 结果 准备工作 1.登录官网了解到,学习者想本 ...

  4. 通过微信扫码登录剖析 oauth2 认证授权技术

    本文目录 前言 趣味解读oauth2 oauth2精髓 oauth2核心概念 结合微信登录深刻理解oauht2 本文小结 前言 相信很多小伙伴在学习 JAVA 的过程中或多或少接触或者开发过类似于 x ...

  5. vue 微信扫码登录嵌入方式及开发踩的坑点

    文章目录 1. 微信扫码登录开发文档 申请AppID,AppSecret,配置回调地址 2. 微信扫码登录方式 3. 微信扫码登录代码 4. 使用 href 更改内嵌的样式 5. 坑点1:redire ...

  6. 应用网站微信扫码登录处理逻辑解析

    应用网站微信扫码登录处理逻辑解析 近日刚刚进行了网站应用微信扫码登录的功能开发.开发前看了不少文档,但感觉都很偏技术术语,太过于专业.对于刚刚想涉及这方面的菜鸟来说,看的一脸懵逼. 趁着自己刚刚动手的 ...

  7. 微信扫码登录的技术实现思考

    微信扫码登录是经常用到的的骚操作,但是,其实现的思路是怎样的,可能很多人都没有去思考过.记得曾经在一次面试当中,面试官就曾问过微信扫码登录的实现思路,这次,以微信读书网页版扫码登录为例子,聊聊我对微信 ...

  8. SpringSecurity OAuth2实现单点登录,微信扫码登录,Redis缓存验证码---入门到实战

    1. 认证授权 1.1 什么是认证授权 ​ 例如课程发布后用户通过在线学习页面点播视频进行学习.如何去记录学生的学习过程呢?要想掌握学生的学习情况就需要知道用户的身份信息,记录哪个用户在什么时间学习什 ...

  9. PC网站如何实现微信扫码登录

    不管你运营什么类型的网站,用户注册都是很重要的一个环节,用户注册的方式也是很多的,比如邮箱注册.手机号注册.第三方授权登录等.其中,第三方授权登录是最常用的一种方式,微信扫码登录是其中的一种,但是微信 ...

最新文章

  1. oracle视图(转)
  2. ORACLE11g中创建裸设备
  3. Gartner:企业架构开始更加紧密地向业务看齐
  4. python数据可视化库 动态的_python --数据可视化(一)
  5. pointPolygonTest函数
  6. yolo 标注转VOC格式(标注转换器)
  7. 全屏显示的包含webview的页面中弹出的软键盘覆盖输入框的问题
  8. Phantomjs代理设置
  9. Qt踩坑之打包exe
  10. redis基础一_常用指令
  11. 论文浅尝 | ICLR 2020 - 图神经网络的预训练策略
  12. win7系统修改启动项
  13. 全站仪与计算机之间的数据传输,必看!全站仪数据传输的三种方式详解,都安排得明明白白(上)...
  14. 优化 Perl 榨取代码的最大性能
  15. Eclipse添加本地jar包
  16. DELMIA软件物流仿真:操作对象显示与隐藏功能介绍与使用方法
  17. TC8:UDP_FIELDS_01-16
  18. PS cc 2018安装教程
  19. SCI论文写作(一) | SCI论文的文献综述(Literature Review)部分
  20. PL2303在ARM Linux下驱动的问题及解决方法

热门文章

  1. ios 模拟器中应用程序的存储路径
  2. 细数那些不起眼但利润很大的赚钱生意
  3. APP渗透测试检查-checklist
  4. jquery tmpl js 模板详解
  5. 基于高并发的数据采集器
  6. 用MapReduce实现寻找共同好友(Python)
  7. 当前Java程序员岗位是否已经饱和了?你大概是在逗我!
  8. 计算机启动按钮不灵如何维修,电脑键盘按键失灵怎么办 电脑键盘按键失灵维修方法介绍【解决方法】...
  9. 基于Python将多个表格数据合成为一个表格数据
  10. 条形码编码数据区分及使用建议