微信h5页面的授权登录,首先你要申请一个测试公众号

微信公众平台

在配置里的网页服务-网页账号输入自己的ip地址+端口,如127.0.0.1:8080

第一步:前端拉起授权,用户同意,获取code,前端直接调用下边链接即可拉起授权

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

成功之后会回调到你写的redirect_uri地址,注意一点,这里的redirect_uri要和你在测试号里配置的一直,不然会一直报错

第二步:通过 code 换取网页授权access_token

前端通过接口把获取到的token传给后端,后端再调用以下链接,获取access_token和openid

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
  public static JSONObject getAccessTokenOpenId(String code) throws IOException {String params = "https://api.weixin.qq.com/sns/oauth2/access_token" +"?appid=" + WX_APPID +"&secret=" + AppSecret +"&code=" + code +"&grant_type=authorization_code";GetMethod getMethod = new GetMethod(params);HttpClient client = new HttpClient();client.executeMethod(getMethod);if (getMethod.getStatusCode() == 200) {String responseBodyAsString = getMethod.getResponseBodyAsString();getMethod.releaseConnection();return JSONObject.parseObject(responseBodyAsString);}return null;}

这里的HttpClient是org.apache.commons.httpclient包下的方法,微信的接口调用成功后会返回一个json对象,java里解析一下就能拿到

第三步:拉取用户信息

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
 public static JSONObject getUserInfo(String code) throws IOException {JSONObject jsonObject = getAccessTokenOpenId(code);if (jsonObject == null) return null;if (!StringUtils.isEmpty(jsonObject.getString("errcode"))){return jsonObject;}String params = "https://api.weixin.qq.com/sns/userinfo" +"?access_token=" + jsonObject.getString("access_token") +"&openid=" + jsonObject.getString("openid") +"&lang=zh_CN";GetMethod getMethod = new GetMethod(params);HttpClient client = new HttpClient();client.executeMethod(getMethod);if (getMethod.getStatusCode() == 200) {String responseBodyAsString = getMethod.getResponseBodyAsString();JSONObject jsonObject2 = JSONObject.parseObject(responseBodyAsString);getMethod.releaseConnection();return jsonObject2;}return null;}

通过上个方法 获取到openid和access_token再调用userinfo链接 ,获取当前用户的信息。结果如下

java微信H5授权登录相关推荐

  1. 前后端分离后解决微信授权跨域、微信H5授权登录跨域的问题解决

    前言: 我们之前做的微信授权登录流程是: 1.第一步:用同意授权,并获取code 2.第二步:通过code换取网页授权access_token 3.第三步:刷新access_token(如果需要) 4 ...

  2. 微信H5授权登录PHP版本

    直接上代码: public function weixinLogin(){$item = db('setting')->where('id',1)->find();$item = json ...

  3. 微信h5授权获取用户openId的方法和步骤,用于用户登录和注册

    微信公众号的配置和专业名词就不介绍了,不懂的问度娘,我就直接上代码  点击下载完整demo 先说一下我的demo放的位置: 微信H5授权登录分两种: ① 静默授权:snsapi_base,没有弹窗,只 ...

  4. 【微信公众号H5授权登录】

    微信公众号H5授权登录 废话不多,直接上代码(这里只写代码的实现) 废话不多,直接上代码(这里只写代码的实现) 页面进来判断微信环境 onShow() {//设置初始值为false,微信环境下才能打开 ...

  5. java集成企业微信完成授权登录

    java集成企业微信完成授权登录 文章目录 前言 一.背景 二.使用步骤 1.前端请求链接获取Code 2.后端接收Code,请求微信链接完成返回用户信息 总结 前言 java集成企业微信完成授权登录 ...

  6. 微信第三方授权登录并在h5中发起支付

    概述:微信第三方授权登录,授权后转向h5页面直接发起支付,应用场景:智能售货机,用户扫码直接支付并记录用户信息. 一.业务配置项 1.1注册微信公众号,微信商户号 微信公众号需要认证,认证后才会有相关 ...

  7. java ajax 微信网页授权_ajax 实现微信网页授权登录的方法

    AJAX 的 ajax 实现微信网页授权登录的方法 项目背景 因为项目采用前后端完全分离方案,所以,无法使用常规的微信授权登录作法,需要采用 ajax 实现微信授权登录. 需求分析 因为本人是一个ph ...

  8. 微信网页授权登录java后台实现

    建议先阅读微信开发-网页授权登录官方文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_au ...

  9. redirect_uri 参数错误 公众号H5授权登录原理

    redirect_uri 参数错误,这个错误请检查网页授权,大部分是回调的授权域名配置问题 公众号H5授权登录 在微信公众号里获取微信用户信息分两种方式 注意:以下所有操作,都需要再公众号配置网页授权 ...

最新文章

  1. java indexof int,int indexOf(String str, int fromIndex)
  2. php常用的十个代码片段,转载
  3. Linux安装和管理程序的相关知识点
  4. Oracle新建用户并授权
  5. SeekBar和RatingBar
  6. 前端学习(3081):vue+element今日头条管理-创建页面组件并加载
  7. AngularJs 中ngModel绑定HTML5 date数据同步问题
  8. 使用pyqt开发gui(pyqt集成到pycharm)
  9. 【jiasuba】教你快速更改系统图标大小
  10. android音标,安卓系统如何正确显示音标
  11. MATLAB简单入门
  12. 仿网易云和支付宝首页嵌套滑动
  13. 关于一个博客系统的 整体架构与技术
  14. 信号处理基础-matlab-wavread-audioread
  15. 移动机器人 | 同时定位与建图
  16. IPv6动态地址DNS解析
  17. vivox27微信无法连接服务器,vivo X27微信拍照模糊怎么办?简单一个操作轻松解决...
  18. 湖南大学大学计算机基础教程,湖南大学计算机基础试题题库及答案(26页)-原创力文档...
  19. Friends经典对白
  20. 单片机开发与Linux开发区别

热门文章

  1. GIS坐标中的Z值和M值
  2. 【大学物理实验】冷却法测金属比热容
  3. IPSEC的原理及配置步骤整理(一)
  4. IMS系统简介及增值业务能力分析
  5. 安装包UI美化之路-升级安装与静默安装一键打包
  6. 【SLM6550】 2A同步降压型锂电池充电电路
  7. STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。
  8. 伪类选择器:checked
  9. CRC在线校验工具计算器
  10. 数据结构课程设计-神秘国度的爱情故事-LCA:tarjan+离线/树链剖分/暴力