微信登录:
1、申请微信开放平台,获取微信登录接口
2、测试登录接口是否正常
redirect_uri重定向地址(微信申请的http://+‘授权回调域’),需要进行UrlEncode。
https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
3、开发后台接收代码
4、两种二维码嵌入方法:
一、使用微信页面
在界面使用<a href="https://open.weixin.qq.com/connect/qrconnect?appid=appid&redirect_uri=url&response_type=code&scope=snsapi_login&state=state#wechat_redirect"></a>
该方法不需要再对工程的界面进行什么js处理。
二、使用 网站内嵌二维码
在需要使用二维码的界面添加
展示二维码的位置设置<div id="login_container"></div>  id与js里面的id一致
(在页面最后面)
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<script>
var obj = new WxLogin({
                              id:"login_container", 
                              appid: "appid", 
                              scope: "snsapi_login", 
                              redirect_uri: "http%3a%2f%2fXXXX.com%2fregist%2fwxlogin",
                              state: "state",
                              style: "black",
                              href: ".impowerBox .title {display: none;}"
                            });
</script>
注:该方法是微信js帮忙生成的二维码,不需要再添加图片什么的。
5、再Action层获取code进行需要的业务处理
String code = request.getParameter("code");

6、有什么需要获取的根据微信提供的api进行后台访问拼接的接口地址可以返回对应的数据。

简单原理:

表面上的步骤如下:
1、[电脑] 打开https://open.weixin.qq.com/,得到二维码
2、[手机] 点开扫一扫,扫描PC端二维码,并且扫描成功
3、[电脑] 提示扫描成功,[手机] 询问是否确认登陆

4、[手机] 确认登陆

5、[电脑] 跳转到配置的网址

其实对应的内部机制差不多是这样的:
1、电脑请求网页后,微信服务器生成一个唯一的ID(这里是UUID)给客户端网页,客户端定时发起向微信服务器的连接(这里类似于轮询),微信服务器保持这个连接(这里类似于长连接),保持一段时间(大概27秒)返回一个“还没人扫码”的标识,于是客户端再开连接
2、手机微信扫码并解码,解码出来是一个URL也好,是一段文本也好,总之这段东西匹配了手机微信登陆网页版的要求,于是手机微信带着解码出来的信息去请求微信服务器。这里就已经达到了特定微信账号和某个特定网页相关联的目的
3、电脑这里微信服务器马上在长连接中返回“有人扫码了”的表示并结束连接,网页提示扫描成功,然后打开长连接等待确认登陆的标识;手机这里么则根据二维码的信息打开对应网页确认登陆
4、后面其实和前面一样了,手机微信确认登陆的其实就是请求服务器说这个可以登录了,然后服务器给网页的长连接中返回可以登录的标识并结束长连接,然后跳转到消息网页

微信登录开发-java相关推荐

  1. 原生微信登录开发记录

    原生微信登录开发记录(微信开发文档太陈旧了不更新) 微信回调页面 public class WXEntryActivity extends Activity implements IWXAPIEven ...

  2. 第三方网站应用微信登录开发指南

    微信开放平台网址 网站应用微信登录开发指南 准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录 ...

  3. WeChat小程序·微信登录·开发参考文档

    文章目录 1 WeChat小程序登录业务开发 1.1 前期准备 1.2 微信登录流程 1.2.1 官方参考文档 1.2.2 登录流程时序图 1.2.3 步骤分析 1.2.4 重要方法说明 1.2.5 ...

  4. java微信接口开发java SpringMVC mybatis 后台框架

    获取[下载地址]   QQ: 313596790   [免费支持更新] 支持三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [ 新录针对本系统的视频教 ...

  5. java微信自动回复开发,Java微信公众号开发----关键字自动回复消息

    在配置好开发者配置后,本人第一个想要实现的是自动回复消息的功能,说明以下几点: 1. url 仍然不变,还是开发配置里的url 2. 微信采用 xml 格式传输数据 3.微信服务器传给我们的参数主要有 ...

  6. 微信支付开发java开发_java微信开发之微信支付

    **写在前面: 本人一直"奉行授人以鱼不如授人以渔",本文主要是起一个引导的作用,注意一些很坑的地方. 微信支付,本人菜鸟花了2天时间弄出来,也算是有点成就感,所以特此做个记录 * ...

  7. 微信jssdk开发java版_微信jssdk

    class JSSDK { private $appId; private $appSecret; public function __construct($appId, $appSecret) { ...

  8. 微信公众号开发扫码登录(java版)

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. 商家信息管理系统登录时可以用微信扫码登录. 参考文档是微信开放平台,**着重需要关注文档(开 ...

  9. 对于微信二维码相关官方文档的一些注解(微信登录和绑定微信、关注公众号)

    转载自:https://www.jianshu.com/p/d533c69be034 由于微信官方文档对此的描述虽然还可以,但是还是有一些让人疑惑的地方,所以笔者做了一些注解,希望对大家有所帮助 为什 ...

最新文章

  1. 云计算和大数据时代网络技术揭秘(六)LISP协议
  2. Android Studio项目整合PullToRefresh的问题记录
  3. 怎么在一里以外识别出一个菜鸡程序员
  4. java 惊群效应,eureka的惊群效应
  5. python complex 如何取出实数部分_【PYthon报错】np.complex128数字的虚数部分为0j
  6. 9.Tideways和xhgui
  7. sql server 连接
  8. Air720UGUH 极简封装 LTE Cat.1 bis 模块[合宙通信]
  9. 最美证件照工作室需要买什么东西
  10. 鸟哥的linux私房菜_linux磁盘与文件系统管理
  11. 跟着团子学SAP FICO:SAP税码传输最佳业务实践
  12. 安装win10 找不到固态硬盘
  13. OpenCV学习十:blur、GaussianBlur、medianBlur 、bilateralFilter 图片的模糊、高斯模糊、中值模糊、二值滤波(课程里将模糊与滤波认定为一样) 以及 锐化算子
  14. Oracle计算时间差
  15. 关于鼠标右键无法正常加载一直转圈
  16. 淘宝新店刚开如何测款?
  17. c语言课程设计--打飞碟源代码,飞碟游戏(飞碟游戏规则)
  18. ACPI Spec Chapter 10 Power Source And Power Meter Devices
  19. 连线杂志:盖茨53年人生大事记
  20. r语言remarkdown展示图_为什么Markdown R有较大概率成为科技写作主流? ← 阳志平的个人网站::技术...

热门文章

  1. 腾讯云找回自己用过的ip
  2. 微观平台_不再受到微观管理
  3. echarts地图api series_ECharts地图绘制和钻取简易接口详解
  4. 基于遗传算法在机器人路径规划中的应用研究(Matlab代码实现)
  5. drf实现图片验证码功能
  6. html图片热区map、area的使用
  7. 实时采集福利彩票的中奖信息和最新开奖信息-JAVA
  8. react上拉加载更多
  9. winform高效导出Excel带格式设置
  10. ARM架构Generic Interrupt Controller(GIC)之Distributor和CPU interface功能介绍