微信网页授权有两种方式,分别是:

静默授权:以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)

用户授权:以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

关于网页授权access_token和普通access_token的区别

1、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;
2、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。

静默授权调用的接口:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap
ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_bas
e&state=123#wechat_redirect

用户授权接口:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=
code&scope=snsapi_userinfo&state=STATE#wechat_redirect

由于静默授权比较容易,这边就不陈述了,就来讲讲用户授权方式的:
首先在测试号页面中找到如下链接:

点击修改按钮:

这里配置了域名,后面啥也别加,不然会找不到,点击确定按钮即可。
下面是我的后台服务

@RequestMapping(value = "/hello")public String index(){return "index";}@RequestMapping(value = "/detail")public String detail(){return "detailpage";}@RequestMapping(value = "/home",method= RequestMethod.GET)@ResponseBodypublic void valid(HttpServletRequest request, HttpServletResponse response) throws IOException {boolean isGet = request.getMethod().toLowerCase().equals("get");String code = request.getParameter("code");if (isGet) {// 微信加密签名String signature = request.getParameter("signature");// 时间戳String timestamp = request.getParameter("timestamp");// 随机数String nonce = request.getParameter("nonce");// 随机字符串String echostr = request.getParameter("echostr");PrintWriter out = response.getWriter();// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败if (SignUtil.checkSignature(signature, timestamp, nonce)) {out.print(echostr);}out.close();out = null;}else{userpost(request,response);}}@RequestMapping(value = "/home",method= RequestMethod.POST)public void userpost(HttpServletRequest request, HttpServletResponse response) throws IOException   {request.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();String str = null;String code = request.getParameter("code");try {Map<String, String> message = MessageUtil.xmlToMap(request);String fromUser = message.get("FromUserName");String toUser = message.get("ToUserName");String content = message.get("Content");String msgType = message.get("MsgType");String msgId = message.get("MsgId");Message ms = new Message();ms.setContent(content);ms.setFromUserName(toUser);ms.setToUserName(fromUser);ms.setMsgType(msgType);str = MessageUtil.textMessageToXml(ms).replace("\n","").replace(" ","");out.print(str);out.close();out = null;}catch (Exception e){e.printStackTrace();}}

按钮菜单:

 private static Button getMenu() {String APPID = "wxbc359ccb5e797e11";String REDIRECT_URI = "http://gky2jr.natappfree.cc/WeChatProject/wechat/hello";String urlscope = "snsapi_userinfo";String state = "1";BaseButton btn11 = new BaseButton();btn11.setName("学霸笔记本");btn11.setType("click");btn11.setKey("11");BaseButton btn12 = new BaseButton();btn12.setName("记忆宫殿");btn12.setType("click");btn12.setKey("12");BaseButton btn13 = new BaseButton();btn13.setName("逻辑思维");btn13.setType("view");StringBuilder url = new StringBuilder();url.append("https://open.weixin.qq.com/connect/oauth2/authorize?");url.append("appid="+APPID);url.append("&");url.append("redirect_uri="+REDIRECT_URI);url.append("&");url.append("response_type=code");url.append("&");url.append("scope="+urlscope);url.append("&state=1#wechat_redirect");btn13.setUrl(url.toString());Sub_Button sub1 = new Sub_Button();sub1.setName("菜单一");sub1.getSub_button().add(btn11);Sub_Button sub2 = new Sub_Button();sub2.setName("菜单二");sub2.getSub_button().add(btn12);Sub_Button sub3 = new Sub_Button();sub3.setName("xinbuxing");sub3.getSub_button().add(btn13);Button menu = new Button();menu.getButton().add(sub1);menu.getButton().add(sub2);menu.getButton().add(sub3);return  menu;}

当我单击逻辑思维按钮时

便会弹出该验证页面

值得注意的是我在手机上没有显示该验证页面,本人怀疑是测试号的问题
参考文档
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

微信开发网页授权认证相关推荐

  1. 微信开发——网页授权

    微信开发--网页授权 前期准备 前端 后端 前期准备 ①微信客户端中访问第三方页面,公众号可以通过网页登陆授权,获取微信用户的基本信息(头像.昵称等),实现业务逻辑.一切按照官方文档说明开发. ②安装 ...

  2. 微信开发网页授权获取用户信息

    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 1. 关于OAuth2.0的说明 官方网站:http://oauth.net/   htt ...

  3. 微信开发 网页授权获取用户基本信息

    微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...

  4. Weixin4j微信开发网页授权获取openid案例

    前言 weixin4j网页静默授权获取openid案例 **说明:**微信网页授权基础知识请参考官方文档. 静默授权获取OpenId 本 示例基于weixin4j开发,weixin4j是Java微信开 ...

  5. php 微信开发 网页授权登录,微信开发网页授权登录——2018年6月2日

    微信网页授权登录用户同意授权,获取code 通过code,获取网页的access_token 拉取用户信息(scope 为snsapi_userinfo) application\index\cont ...

  6. 微信开发网页授权的两种方式

    第一步在微信公众平台中找到网页授权 然后再填写授权回调页面,这里的页面如同手册里面一样  以xxx.xxxxx.com 即可  而且此处的域名一定要和代码中回调地址在同一个域名之下. 关于网页授权的两 ...

  7. 企业微信开发--网页授权(获取code)

    在企业微信中,我们可以开发企业应用.使用企业应用,我们可以访问到外部网站.那么外部网站如何获取到企业微信共享用户id呢?企业微信提供了OAuth的授权登录方式,可以让网页和企业微信共享用户ID,从而免 ...

  8. 微信公众号开发之网页授权认证获取用户的详细信息,实现自动登陆

    原创声明:本文转来源本人另一博客[http://blog.csdn.net/liaohaojian/article/details/70175835]绝非他人处转载 从接触公众号到现在,开发维护了2个 ...

  9. (微信公众号开发《一》OAuth2.0网页授权认证获取用户的详细信息,实现自动登陆)http://blog.csdn.net/liaohaojian/article/details/70175835

    从接触公众号到现在,通过不断积累学习,对如何调用微信提供接口有了一定的见解.当然在开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开 ...

最新文章

  1. 深度linux创建微信图标,Deepin Linux 下基于deepin-wine的微信图标不见的问题解决
  2. Windows 命令窗口(cmd)命令不能用解决办法
  3. TLS,SSL,HTTPS with Python(转)
  4. nodejs接收post数据
  5. 寻找Linux单机负载瓶颈
  6. 蔚来与雷蛇联合推出NIO ES6限量版车型 售价46.78万元
  7. [BUAA OO]第三次博客作业
  8. python数据分析-为什么Python对大数据分析那么很重要?
  9. Direct2D教程(七)单色画刷
  10. idm无法连接到目标服务器的解决办法
  11. 【阿卡乐谱】【日常分享】超级强大的简谱-《茉莉花》
  12. Boni Satani谈迁移遗留系统的5个原因
  13. SpringMVC从request到controller过程详解
  14. [转]《牵一只蜗牛去散步》台湾 张文亮
  15. stm32h7xx_hal_conf.h讲解
  16. 高考加油的c语言程序,2020祝高三高考加油的句子 高考加油一句话
  17. SSH远程访问以及控制
  18. COVID-19席卷全球,看看GIS建模可视化能做些什么
  19. Ubuntu下查看cuda版本
  20. 谭浩强C程序设计快速复习笔记

热门文章

  1. 车联网中密码技术的探究
  2. win10-SW2016工程图关联零件属性链接操作
  3. Nginx 踩坑之405 not allow
  4. 社交数据在征信领域的应用探索
  5. 平安银行薪资职级表_秋招提前批!平安银行总行公告发布!薪资拿到手软~
  6. 原来我是水瓶座。。。
  7. 当前对计算机专业人才的要求,关于计算机专业人才需求的分析
  8. html中 选择子元素 子元素选择器
  9. 奋斗吧之“和loser对话”小故事
  10. 十大高人气“断货王”蓝牙耳机盘点,双11哪款蓝牙耳机值得入手?