扫码登录流程讲解、获取授权登陆二维码

具体流程可以看微信官网的扫码登录文档

地址:准备工作 | 微信开放文档

其实官方文档已经讲的非常清楚而且讲的也很明白。

一、扫码登录流程讲解

1、首先准备工作

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。

在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret

申请微信登录且通过审核后,可开始接入流程。就是你的网站要想实现微信扫码登陆功能首先要在微信备案通过,它才会给你个AppID和AppSecret。

2、时序流程图

时序图总结流程:

1、用户点击网站微信登陆图标。

2、网站带上AppID和AppSecret和回调域名参数请求微信OAuth2.0授权登陆。

3、第二步通过后,微信返回二维码供用户扫码。

4、用户扫码确定授权。

5、微信带上code参数回调java后端相关接口。

6、java后端获取到code后,在带上带上AppID和AppSecret和code再去调微信接口。

7、获取access_token后就可以解析用户的一些基本信息,比如:微信用户头像、用户名、性别、城市等一些基本参数。

具体接口参数说明看官方文档。

二、获取授权登陆二维码

1、微信登陆接口

@Controller
@RequestMapping("/api/v1/wechat")
public class WechatController {/*** 微信开放平台二维码连接*/private final static String OPEN_QRCODE_URL= "https://open.weixin.qq.com/connect/qrconnect?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_login&state=%s#wechat_redirect";/*** 开放平台回调url* 注意:test16web.tunnel.qydev.com 域名地址要和在微信端 回调域名配置 地址一直,否则会报回调地址参数错误*/private final static String OPEN_REDIRECT_URL= "http://test16web.tunnel.qydev.com/pub/api/v1/wechat/user/callback1";/*** 微信审核通过后的appid*/private final static String OPEN_APPID= "wx0255752c69a2d5b";/*** 拼装微信扫一扫登录url*/@GetMapping("login_url")@ResponseBodypublic JsonData loginUrl(@RequestParam(value = "access_page",required = true)String accessPage) throws UnsupportedEncodingException {//官方文档说明需要进行编码String callbackUrl = URLEncoder.encode(OPEN_REDIRECT_URL,"GBK"); //进行编码//格式化,返回拼接后的url,去调微信的二维码String qrcodeUrl = String.format(OPEN_QRCODE_URL,OPEN_APPID,callbackUrl,accessPage);return JsonData.buildSuccess(qrcodeUrl);}}

2、通过调用接口前端获得详细URL地址

3、访问data数据中URL地址

成功!

下一步需要做的是用户扫完登陆二维码后,进行回调:http://test16web.tunnel.qydev.com/pub/api/v1/wechat/user/callback1  接口

我只是偶尔安静下来,对过去的种种思忖一番。那些曾经的旧时光里即便有过天真愚钝,也不值得谴责。毕竟,往后的日子,还很长。不断鼓励自己,

天一亮,又是崭新的起点,又是未知的征程(上校12)

微信扫码登陆(1)---扫码登录流程讲解、获取授权登陆二维码相关推荐

  1. uni-app微信小程序生成自定义参数二维码,跳转小程序指定页面,获取参数;uni-app微信小程序获取二维码自定义参数;微信小程序生成动态参数二维码;uni-app微信小程序获取动态参数二维码;

    一.场景需求: 在小程序个人名片页面A页面,生成用户的个人名片二维码(该二维码携带用户的唯一标识id):微信扫一扫或长按图片识别这个二维码,可以跳转到小程序的B页面,并且在B页面拿到二维码上的唯一标识 ...

  2. 百度网盘登陆验证提示:无法访问此页面,或者二维码显示失败,弹窗显示:无法访问此页面,确保web地址。。。。

    百度网盘登陆验证提示:无法访问此页面,或者二维码显示失败,弹窗显示:无法访问此页面,确保web地址.... 遇到百度网盘登陆时显示下面的情况: 原因:是自己电脑的IE浏览器设置出了问题,没有显示出来应 ...

  3. 微信小程序获取二维码接口整理,.Net Core后台获取小程序二维码

    2019独角兽企业重金招聘Python工程师标准>>> 一.关于二维码接口说明 参考:https://my.oschina.net/tianma3798/blog/1811307 获 ...

  4. 微信小程序——服务端获取小程序二维码 永久有效 数量无限制

    因为现在做的小程序,想要分享小程序中的页面给微信好友,那就可以使用二维码,很方便. 而且通过后台接口可以获取小程序任意页面的小程序码 扫描该小程序码可以直接进入小程序对应的页面,所有生成的小程序码永久 ...

  5. 专属微信二维码python制作_教你使用Python制作酷炫二维码

    这篇文章讲的是如何利用python制作狂拽酷炫吊炸天的二维码,非常有趣哦! 可能你见过的二维码大多长这样: 稍微好看点的长这样: 普普通通,平平凡凡,没什么特色... 但,如果二维码长这样呢! 或者这 ...

  6. 怎么获取公众号二维码?

    如果是公众号的管理员,当然可以从微信公众平台直接下载二维码,但这里我要说的场景是:不是公众号的管理员,怎么获取公众号的二维码(且获取到的二维码都是静态的,不带参数的). 使用场景 首先解释一下为什么要 ...

  7. iOS和Android使用同一个二维码自动跳转不同下载页面链接(附生成二维码地址方法)

    一.使用场景 开发了一款App,包括iOS及Android版,到了推广阶段,准备生成二维码让用户扫码下载,那这个二维码该怎么生成?iOS及Andorid各自生成一个二维码让用户区分下载?当然这种方式是 ...

  8. python myqr制作二维码生成器_用Python生成动态二维码,只要5行代码,拥有你的个性二维码!...

    原标题:用Python生成动态二维码,只要5行代码,拥有你的个性二维码! 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. P ...

  9. 获取小程序二维码携带的参数

    小程序获取二维码参数 生成二维码的时候使用的是 wxacode.getUnlimited,接口 B(数量不受限制,参数较短) 文档的截图如下: 可以看到生成的二维码的参数需要放在 scene 中 假设 ...

  10. 微信小程序加入(长按识别)群聊(群二维码)

    小程序里放二维码图片 目前小程序放群二维码,长按识别 [支持]企业个人微信二维码 [不支持]企业微信群固定码 [支持]企业微信群码(7天过期) [支持]个人微信码 [支持]微信群码二维码 微信小程序中 ...

最新文章

  1. L2-002. 链表去重
  2. thinkPHP 模板的使用技巧(十三)
  3. 把自己的思想记录下来
  4. 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数...
  5. LeetCode 662. 二叉树最大宽度(递归)
  6. NET快速信息化系统开发框架 V3.2 -WinForm部分全部重构为Dev风格界面
  7. linux下载gcc yarm,修改Yarn的全局安装和缓存位置
  8. html背景图片垂直居中,css — 定位、背景图、水平垂直居中
  9. Atitit.javascript 实现类的方式原理大总结
  10. import matplotlib.pyplot as plt
  11. X509证书信任管理器类的实现及应用
  12. 机器学习算法_Quora上的大牛们最喜欢哪种机器学习算法?
  13. 虚拟服务器架设教程,架设服务器虚拟主机教程
  14. 学习笔记——STM32摄像头OV7725(二)
  15. SAP SD初阶之VL10A为销售订单创建外向交货单
  16. Mathmatica9 注册不了
  17. 干趴网络协议:IS-IS 特性
  18. eversync safari_EverSync安卓版
  19. 16.WireShark学习-在WireShark中添加新协议
  20. Keystore、Key attestation

热门文章

  1. 蜗牛学院:程序员最值得看的12部电影
  2. Python:第六次全国人口普查数据分析及可视化(pandas、matplotlib)
  3. 使用链接时间代码生成
  4. 什么是软件开发模式?
  5. python可以下载百度文库_用Python爬取百度文库0下载券的免费文档详细步骤,附可执行软件...
  6. 音乐编辑软件Cubase分享:扒歌技巧教程
  7. JEP 290 初识
  8. 【软件过程改进 学习笔记】过程思维 ( 软件危机 | 软件过程 | 过程改进 | 过程思维 | 过程描述 | ISO 9000 | 6σ | PCM | CMMI )
  9. 【C语言】初学者写基础代码的基本步骤
  10. python书籍下载网站_Python 精品开源电子书网站