java微信H5授权登录
微信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授权登录相关推荐
- 前后端分离后解决微信授权跨域、微信H5授权登录跨域的问题解决
前言: 我们之前做的微信授权登录流程是: 1.第一步:用同意授权,并获取code 2.第二步:通过code换取网页授权access_token 3.第三步:刷新access_token(如果需要) 4 ...
- 微信H5授权登录PHP版本
直接上代码: public function weixinLogin(){$item = db('setting')->where('id',1)->find();$item = json ...
- 微信h5授权获取用户openId的方法和步骤,用于用户登录和注册
微信公众号的配置和专业名词就不介绍了,不懂的问度娘,我就直接上代码 点击下载完整demo 先说一下我的demo放的位置: 微信H5授权登录分两种: ① 静默授权:snsapi_base,没有弹窗,只 ...
- 【微信公众号H5授权登录】
微信公众号H5授权登录 废话不多,直接上代码(这里只写代码的实现) 废话不多,直接上代码(这里只写代码的实现) 页面进来判断微信环境 onShow() {//设置初始值为false,微信环境下才能打开 ...
- java集成企业微信完成授权登录
java集成企业微信完成授权登录 文章目录 前言 一.背景 二.使用步骤 1.前端请求链接获取Code 2.后端接收Code,请求微信链接完成返回用户信息 总结 前言 java集成企业微信完成授权登录 ...
- 微信第三方授权登录并在h5中发起支付
概述:微信第三方授权登录,授权后转向h5页面直接发起支付,应用场景:智能售货机,用户扫码直接支付并记录用户信息. 一.业务配置项 1.1注册微信公众号,微信商户号 微信公众号需要认证,认证后才会有相关 ...
- java ajax 微信网页授权_ajax 实现微信网页授权登录的方法
AJAX 的 ajax 实现微信网页授权登录的方法 项目背景 因为项目采用前后端完全分离方案,所以,无法使用常规的微信授权登录作法,需要采用 ajax 实现微信授权登录. 需求分析 因为本人是一个ph ...
- 微信网页授权登录java后台实现
建议先阅读微信开发-网页授权登录官方文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_au ...
- redirect_uri 参数错误 公众号H5授权登录原理
redirect_uri 参数错误,这个错误请检查网页授权,大部分是回调的授权域名配置问题 公众号H5授权登录 在微信公众号里获取微信用户信息分两种方式 注意:以下所有操作,都需要再公众号配置网页授权 ...
最新文章
- java indexof int,int indexOf(String str, int fromIndex)
- php常用的十个代码片段,转载
- Linux安装和管理程序的相关知识点
- Oracle新建用户并授权
- SeekBar和RatingBar
- 前端学习(3081):vue+element今日头条管理-创建页面组件并加载
- AngularJs 中ngModel绑定HTML5 date数据同步问题
- 使用pyqt开发gui(pyqt集成到pycharm)
- 【jiasuba】教你快速更改系统图标大小
- android音标,安卓系统如何正确显示音标
- MATLAB简单入门
- 仿网易云和支付宝首页嵌套滑动
- 关于一个博客系统的 整体架构与技术
- 信号处理基础-matlab-wavread-audioread
- 移动机器人 | 同时定位与建图
- IPv6动态地址DNS解析
- vivox27微信无法连接服务器,vivo X27微信拍照模糊怎么办?简单一个操作轻松解决...
- 湖南大学大学计算机基础教程,湖南大学计算机基础试题题库及答案(26页)-原创力文档...
- Friends经典对白
- 单片机开发与Linux开发区别