微信登录开发-java

原创 2015年11月17日 17:01:47
微信登录:
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实现微信授权登录

这篇文章出了介绍微信授权登录之外,还简单介绍QQ登录的相关流程。 首先要开发微信授权登录操作,必须有一个微信公众平台注册一个账号,具体网址在微信公众平台。在这里仅对于个人开发者而言,订阅号应该是个人开...
  • StarDreamWorkStation
  • StarDreamWorkStation
  • 2017年04月13日 16:07
  • 4743

微信公众平台授权登录(java版)

微信公众平台授权登录获取用户openid。
  • oHuAnKang
  • oHuAnKang
  • 2017年03月01日 13:29
  • 3029

Java 微信网页授权登陆 OAuth2.0源码

  • 2016年03月19日 14:54
  • 1.84MB
  • 下载

第三方网站微信登录java代码实现

一、开发前知识 1、微信开放平台与微信公众平台的区别  1.1 微信公众平台:    ① 地址:https://mp.weixin.qq.com/cgi-bin/loginpage?...
  • Sky786905664
  • Sky786905664
  • 2017年06月08日 11:56
  • 1127

使用java进行web微信登录模拟

好久没有写博客了,上一篇博客模拟登录smartqq浏览量达到了2000+,也许大家对这些很猎奇吧,鉴于很多原因,之前smartqq将百度云链接给关闭了,至于原因,是因为核心代码已经给出了,拒绝伸手党,...
  • qq_19383667
  • qq_19383667
  • 2017年06月03日 23:33
  • 2692

微信授权登录demo源码

  • 2015年11月05日 15:36
  • 595KB
  • 下载

java微信登录授权demo

  • 2017年11月30日 11:30
  • 1.84MB
  • 下载

Java接入微信开放平台登录

1.通过微信开放平台https://open.weixin.qq.com注册应用并通过审核,拿到APPID和SECRET 2.通过请求微信登录,跳转后进行处理 https://open.wei...
  • u012131769
  • u012131769
  • 2017年05月23日 21:21
  • 1248

移动端第三方登录(微信)java验证并获取用户信息

授权流程说明 微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(acce...
  • zhibo112
  • zhibo112
  • 2016年02月13日 00:33
  • 8112

java模拟微信web登录平台

  • 2017年08月15日 11:38
  • 65KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微信登录开发-java
举报原因:
原因补充:

(最多只允许输入30个字)