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

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

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

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

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

一、扫码登录流程讲解

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)

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/72559.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成微信二维码,微信扫码登录网站

注意 微信扫码登录,有两种实现方式: 方式1、依赖公司在【微信开放平台】用【公司营业执照】注册的账号,才能实现扫码登录 方式2、借助个人或者公司的微信公众号,生成微信带参二维码,实现扫码关注公众号后登录 大家要明…

安科瑞AWT100无线数据采集通信终端

安科瑞AWT100无线数据采集通信终端 安科瑞 崔丽洁

佳信客服全渠道接入手册

包括网页、微信、app、微博、邮箱、字节小程序等几种常见渠道接入配置,今天手把手教你如何配置。 网页渠道插入配置和使用 企业可以通过在web网站或微官网植入网页插件代码,让您的客户可以通过web网站和微官网的“联系客服”按钮,与企业客服…

NC与单一窗口数据对接丨外贸软件

在国际贸易通关过程中,所涉及相关部门的信息管理,主要是以数字化流程系统为主,让每个部门业务的申请、办理、回复采用电子化和互联网化。由于每个环节部分的数据壁垒未打通,数据无法协同共享,导致在口岸通关的过程中&a…

小满OKKICRM和畅捷通T+接口打通对接实战

数据源平台:小满OKKICRM 小满科技一直以“人工智能大数据”为核心驱动力,并融入多年深耕CRM行业的经验,为外贸客户提供多场景的解决方案。凭借卓越的服务水准,小满科技先后斩获“年度最佳外贸SaaS服务商”、“2019杰出品牌形象奖”、“2020最…

最新码支付源码+微信/支付宝/qq/秒挂支付/uid+三网监控+易支付H5接口 +聚合免签系统

(码支付不支持虚拟主机)强烈建议使用:[服务器](标准版、系统选Centos、其他配置默认即可后续可升级配置),刚入门选择最低配置或者活动机器均可。服务器环境要求的配置:PHP 7.3 Mysql 5.7 Sup…

vagrant下的虚拟机与windows主机通信,vagrant可以接受数据,主机ping一下显示请求超时,此时应该更换ip地址的最后一位,可能是ip地址冲突的原因,而不是防火墙是否的原因。

vagrant下的虚拟机与windows主机通信,vagrant可以接受数据,主机ping一下显示请求超时,此时应该更换ip地址的最后一位,可能是ip地址冲突的原因,而不是防火墙是否的原因。

网吧电脑显示连不上服务器,Pubwin客户机连不上服务器怎么办?

前面小编分享过文章《pubwin2009客户机的配置方法》,下面小编说说客户机使用过程中常见的一个问题:pubwin2009客户机连接不上服务器?遇到这种问题该如何解决呢。 pubwin2009客户机连接不上服务器,主要是因为控制台列表中&#xff…

虚拟机CentOS7网络Ping不通问题

目录 1、情境复现 2、查看路由信息 3、尝试重启网络服务 4、按照提示查看网络服务状态 5、检查ifcfg-ens33配置是否正确 6、检查VM虚拟网络编辑器子网IP是否正确 7、引入Network与NetworkManage的概念 8、查看NetworkManage状态 9、关闭NetworkManage及开机自启 10、…

ChatGLM服务器部署微调(一)

项目下载 下载地址:https://github.com/THUDM/ChatGLM-6B/tree/main 远程环境搭建以及配置 因为我是在服务器上运行,所以先搭建一下远程环境,如果不知道的话,可以看我之前这篇博客 详细完整pycharm远程连接服务器,…

【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2021 年 12 月 9 日,在 1968 年的今天,Douglas Engelbart 在一场重要会议上(正文将会介绍)演示了世界上的第一个鼠标&am…

【历史上的今天】10 月 26 日:NetBSD 系统发布;Windows 8 诞生;微软推出 Surface 系列

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2022 年 10 月 26 日,历史上的今天,英国足协在伦敦成立,制定了第一个足球规则,宣告了现代足球运动的诞生;足…

校验密码复杂度(规则:长度8-30,必须包含数字、字母、特殊符号)、校验用户名(规则:长度4-19,包含数字、字母,不包含特殊字符)

校验密码复杂度(规则:长度8-30,必须包含数字、字母、特殊符号) 校验用户名(规则:长度4-19,包含数字、字母,不包含特殊字符)

密码长度至少6位,包括任意字符

页面标签 < asp:RegularExpressionValidator ID "revPassword" ControlToValidate "txtPassword" Display "Dynamic" ValidationExpression "([\s\S]{6,})" runat "server" ErrorMessage "密码长度至少6位" &…

在26个字符大小写和9个数字组成的列表中随机生成10个长度为8密码。

import random lst[] #建一个空列表 print(ord(a)) #拿到a的数字编码 97 print(ord(z)) #拿到z的数字编码 122 print(ord(A)) #拿到A的数字编码 65 print(ord(Z)) #拿到Z的数字编码 90 for i in ran…

新闻稿怎么写?

首先咱们要熟记新闻稿的六大要素和三要点&#xff1a; 新闻 六要素&#xff1a; 1、时间 2、地点 3、人物 4、事件 5、经过 6、结果 新闻稿怎么写 简单来说呢&#xff0c;就是咱们在在XXX时间,XXX地点&#xff0c;XXX人物&#xff0c;举办了XXX活动或者说做了什么事&#xff0c…

#A. gzx 的数学题

只要a b的结果不是 1&#xff0c;那答案就是 1&#xff0c;否则答案就是2。 注意数据范围&#xff0c;需要使用 long long #include <bits/stdc.h> #define int long long using namespace std; int a,b; signed main() {scanf("%lld%lld",&a,&b);if…

2016年全国高中数学联赛加试T2解答

2016年全国高中数学联赛加试T2解答 加试T2为平面几何。   题意如图&#xff0c; O 1 &#xff0c; O 2 O_1&#xff0c;O_2 O1​&#xff0c;O2​分别为三角形 X A C , Y A B XAC,YAB XAC,YAB外心。 B X A C C Y A B BX \times AC CY \times AB BXACCYAB&#xff0c;求证…

一些高中数学基础题(持续更新)

索引 1.&#xff08;解三角形&#xff09;在① a c 3 ac\sqrt[{}]{3} ac3 ​&#xff0c;② c sin ⁡ A 3 c\sin A3 csinA3&#xff0c;③ c 3 b c\sqrt[{}]{3}b c3 ​b这三个条件中任选一个&#xff0c;补充在下面问题中&#xff0c;若问题中的三角形存在&#xff0c;求 c …

2022生成模型进展有多快?新论文盘点9类生成模型代表作

萧箫 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT的出现&#xff0c;彻底将生成AI推向爆发。 但别忘了&#xff0c;AI生成模型可不止ChatGPT一个&#xff0c;光是基于文本输入的就有7种—— 图像、视频、代码、3D模型、音频、文本、科学知识…… 尤其2022年&#xff0c;效果好的…