微信网页授权的2种方式
《微信网页授权》专题
1 第一步:用户同意授权,获取code
2 第二步:通过code换取网页授权access_token
3 第三步:刷新access_token(如果需要)
4 第四步:拉取用户信息(需scope为 snsapi_userinfo)
5 附:检验授权凭证(access_token)是否有效
1,获取code
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
需要参数:APPID,scop=snsapi_userinfo
接收HttpRequest的code参数:REDIRECT_URI
2,获取code后,请求以下链接获取access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
需要参数:APPID 和 SECRET,以及CODE
返回json数据包:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
3,拉取用户信息
http:GET(请使用https协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
需要参数:ACCESS_TOKEN和OPENID
返回json数据包:
{
"openid":" OPENID",
"nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
"privilege":[ "PRIVILEGE1" "PRIVILEGE2" ],
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"}
方式二:
1,
获取code
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
需要参数:APPID,scop=snsapi_base
接收HttpRequest的code参数:REDIRECT_URI
以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2,获取code后,请求以下链接获取openid
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
需要参数:APPID 和 SECRET,以及CODE
返回json包:获取openid存储
3,获取access_token https请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
String actokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
actokenUrl=actokenUrl.replaceAll("APPID", APPID).replaceAll("APPSECRET", APPSECRET);
参数:APPID和APPSECRET
返回:access_token
4,获取获取用户基本信息(UnionID机制) https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
String useInfoUrl="https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
useInfoUrl=useInfoUrl.replaceAll("ACCESS_TOKEN", ACCESS_TOKEN).replaceAll("OPENID", openid);
灵活应用需要依赖的技术:https请求封装、gson和java类转换或JSONObject
微信网页授权的2种方式相关推荐
- 微信开发网页授权的两种方式
第一步在微信公众平台中找到网页授权 然后再填写授权回调页面,这里的页面如同手册里面一样 以xxx.xxxxx.com 即可 而且此处的域名一定要和代码中回调地址在同一个域名之下. 关于网页授权的两 ...
- 微信公众号开发__微信网页授权并获取用户基本信息(是否关注公众号、头像、昵称等)
本人最近要做微信公众号网页开发的项目,其中有个需求是判断用户是否关注公众号,由于之前没有接触过微信授权的东西,所以提前开始做调研.在度娘上看了好多博客.百度知道.百度经验.知乎问答等,还仔细阅读了微信 ...
- Springboot + Spring Security多种登录方式:账号用户名登录+微信网页授权登录
一.概述 实现账号用户名+微信网页授权登录集成在Spring Security的思路,最重要的一点是要实现微信登录通过Spring Security安全框架时,不需要验证账号.密码. 二.准备工作 要 ...
- SpringBoot + Spring Security多种登录方式:账号+微信网页授权登录
一.概述 实现账号用户名+微信网页授权登录集成在Spring Security的思路,最重要的一点是要实现微信登录通过Spring Security安全框架时,不需要验证账号.密码. 二.准备工作 要 ...
- Java微信公众号开发微信网页授权之前端传递code方式获取用户信息
本片博客讲解的网页授权分为两步,前端先传递backUrl(回调地址)到后台网页授权接口,该接口拿到回调地址后组装授权连接,重定向到前端页面,前端页面截取Code,传入后端获取用户信息方法,获取用户信息 ...
- Spring Boot Security 多种登录方式集成配置思路及方法 账号用户名登录+微信网页授权登录
概述 实现账号用户名+微信网页授权登录集成在Spring Security的思路 前情提要 本思路完全抛弃Spring Security的配置式账号密码登录模式,采用完全独立的Filter.Provi ...
- android user-agent iso-8859-1,微信网页授权,错误40163,ios正确,安卓错误?
2018-07-18:一年时间过去了,我又回来填自己挖的坑了!! 2017年7月,我遇到了这个问题,当时在这里提了问,后来又跟踪了两天,也没彻底搞懂,反正时好时坏,,后来自己主要精力放在H5+开发上, ...
- 微信公众号开发(一) 微信网页授权登录
微信网页授权登录 前期准备 授权登录 获取微信数据 处理授权拒绝 前期准备 1.微信公众号开发,首先要搞一个公众号,开发阶段可以申请一个公众平台测试账号. (进入到微信公众公众平台,找到开发者工具,点 ...
- Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息
转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...
最新文章
- 矩阵分解(rank decomposition)文章代码汇总
- 应用层的AIDL用法(原)
- 3481. 阶乘的和
- 关于CSS预处理器(less,sass)
- 如何组织软件模块的代码结构?
- 网络不稳定的原因_关键词排名波动原因,如何解决网站排名不稳定!
- oracle 判断字段相等,但类型不同引起的性能问题
- drools规则引擎中易混淆语法分析_相互触发导致死循环分析
- 计算机组成原理课后习题答案第五版
- 基于Java的进销存管理系统 附:源码课件
- MAVEN setting.xml配置文件详解
- SVN服务器下载与安装
- 压电式雨量传感器介绍说明
- arduino触须传感器使用方法
- Python 时间标准化
- E06 【买衣服】Maybe you need a bigger size
- docker安装kong和konga详细说明
- 《潜规则》吴思-摘抄
- 图解B+树并和B-树特点对比总结
- 【工具配置】【Windows】Cuda和cudnn安装教程(保姆级)