当前位置: 首页 > news >正文

微信扫码登录-JAVA

参考资料(微信开发平台):https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316518&lang=zh_CN

总结(实现流程):

  A.注册(交钱):获取appid,secret以及设定扫码之后跳转的域名

       B.获取code

       C..获取access_token,openid

  D.获取微信用户信息

  E.判断是关联目标系统的用户,进而进行下一步操作

具体步骤

  A:见参考资料

  B:根据appid,redirect_uri获取code:appid步骤A获取,redirect_uri为包含步骤给定域名的请求

https://open.weixin.qq.com/connect/qrconnect?appid=${appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_login&state=wxLogin

   b1.生成微信二维码(实例)   

<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<div class="main impowerBox">
<div class="loginPanel normalPanel" style="position: absolute;top: 1%;left: 2%;">
<div class="waiting panelContent">
<div class="wrp_code" id="login_container"></div>
<div class="info">
<div class="status status_succ js_status normal" style="display:none" id="wx_after_scan">
<i class="status_icon icon38_msg succ"></i>
<div class="status_txt">
<h4>扫描成功</h4>
<p>请在微信中点击确认即可登录</p>
</div>
</div>
<div class="status status_fail js_status normal" style="display:none" id="wx_after_cancel">
<i class="status_icon icon38_msg warn"></i>
<div class="status_txt">
<h4>您已取消此次登录</h4>
<p>您可再次扫描登录,或关闭窗口</p>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var obj = new WxLogin({
id:"login_container",
appid: "${appId}", //A步骤获取
scope: "snsapi_login",
redirect_uri: "http://${dasiHost}${path}${loginBackUrl}", //dasiHost为A步骤时给定的域名
state: "wxLogin",
style: "white",
href: "${weixinCssUrl}" //当前页面的css,必须https能够访问
});
</script>

   b2.扫码之后redirect_uri会带上code=code码

C:根据code码获取access_token 、openid:appid,secret步骤A中获取,code步骤B获取

  https://api.weixin.qq.com/sns/oauth2/access_token?appid=${appid}&secret=${secret}&code=${code}&grant_type=authorization_code

D:获取access_token获取微信用户信息:

https://api.weixin.qq.com/sns/userinfo?access_token=${access_token}&openid=ov9LUwaSPGBIsls7aZUmvu3q7ths&lang=zh_CN

####各个步骤入参和返回值在A步骤参考文档都有详细说明

####C、D步骤直接在JAVA代码中通过URL请求直接获取返信息进行操作

E:将来微信用户信息写入数据库,中间表 id studentid  wx_user_id

 

转载于:https://www.cnblogs.com/BoyQing/p/8205988.html

相关文章:

  • 今日新网络舆情信息监测收集技术解决办法
  • Spring深入研究:方法注入
  • 政企舆情监测软件好不好评判方法及使用功能介绍
  • oracle查看被锁的表和解锁
  • 网络舆情信息传播动态监测查询方法
  • python基础---递归函数 知识点自查填空题
  • 百度平台上的网络舆情信息怎么搜查的方法
  • 互联网舆情数据信息挖掘分析的方法
  • [luoguP3159] [CQOI2012]交换棋子(最小费用最大流)
  • 网络舆情事件发展趋势变化监测分析的方法
  • saltstack安装与配置
  • 网络舆情信息工作怎么做的措施及建议
  • TCP、IP、ARP协议之间的工作关系
  • 网上社区舆情舆论信息有效监测的技术解决方法
  • 文本溢出(单行、多行)
  • ES6指北【2】—— 箭头函数
  • [nginx文档翻译系列] 控制nginx
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • codis proxy处理流程
  • create-react-app做的留言板
  • echarts花样作死的坑
  • JavaScript异步流程控制的前世今生
  • Java超时控制的实现
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • node入门
  • Shadow DOM 内部构造及如何构建独立组件
  • 聊聊flink的TableFactory
  • 批量截取pdf文件
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用权重正则化较少模型过拟合
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (四)汇编语言——简单程序
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)插入排序
  • (译)2019年前端性能优化清单 — 下篇
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • **CI中自动类加载的用法总结
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .Net mvc总结
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • /bin/bash^M: bad interpreter: No such file ordirectory