微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录

时间:2023-02-25 16:39:10

搞清微信公众号授权登录的步骤步骤,我们的开发就完成了一大步

献上github 地址: https://github.com/Wechat-Group/weixin-java-tools/wiki/MP_OAuth2%E7%BD%91%E9%A1%B5%E6%8E%88%E6%9D%83

第一步:需要在微信后台配置:注意,只填写自己的域名

  微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录

  微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录

  2.配置完毕后,构建网页授权url,配置重定向地址

  3.当用户同意授权后,会回调所设置的url并把authorization code传过来

  4, 拿到这个code 获得access token,与openid

  5.拿到之后,进行微信请求就可以拿到信息了

  

  

	@Autowired
private WxMpInMemoryConfigStorage config;
@Autowired
private WxMpService wxMpService; @RequestMapping("/WxOauthLogin")
public void wxxLogin(HttpServletResponse response) throws IOException { //我们可以将config配置在xml文件中管理
config.setAppId("wx426aad126775582c");
config.setSecret("d79b69215c50cee0c848415eb34c659a");
wxMpService.setWxMpConfigStorage(config);
String redirectURI="http://ea40c4fc.ngrok.io/Wxredirect";
/**
* 构造微信重定向地址
* url不用我们进行urlencode
*
*/
String url=wxMpService.oauth2buildAuthorizationUrl(redirectURI, WxConsts.OAuth2Scope.SNSAPI_USERINFO, null);
System.out.println("重定向地址------->"+url); response.sendRedirect(url);
} //**在用户点击授权后会触发下面的方法,即重定向的地址,必须在微信中打开哦**// @RequestMapping("/Wxredirect")
public void WxRedirect(String code,HttpServletResponse response) throws WxErrorException, IOException { System.out.println("已经重定向到我这里了---success");
System.out.println("code--->"+code);
/*当用户同意授权后,会回调所设置的url并把authorization code传过来
* ,然后用这个code获得access token,其中也包含用户的openid等信息
*/
WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxMpService.oauth2getAccessToken(code);
/*
* 获取用户的基本信息
*/
WxMpUser wxMpUser = wxMpService.oauth2getUserInfo(wxMpOAuth2AccessToken, null); System.out.print("用户的基本信息"+wxMpUser); /*
* 业务逻辑处理,自己看自己的业务
*/ @Cleanup
PrintWriter writer =response.getWriter(); writer.write(wxMpUser.toString());
}

  

  

微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录的更多相关文章

  1. 微信Oauth2.0网页开放授权

    网页授权获取用户基本信息 如果用户在微信中(Web微信除外)访问公众号的第三方网页,公众号开发者可以通过此接口获取当前用户基本信息(包括昵称.性别.城市.国家).利用用户信息,可以实现体验优化.用户来 ...

  2. 微信OAuth2.0网页授权设置一个域名需多个域名使用的问题

    最近遇到一个问题,一个微信公众号,需要在多个域名上使用OAuth2.0网页授权,但微信OAuth2.0网页授权回调域名只能设置一个. 解决办法: 通过多一次的跳转,解决了微信限制回调域名只能设置一个的 ...

  3. 微信公众号开发(十二)OAuth2.0网页授权

    OAuth允许用户提供一个令牌,而不是用户名和密码来访问它们存放在特定服务器上的数据,每一个令牌授权一个特定的网站在特定时段内访问特定的资源. 授权过程如下: 1.引导用户进入授权页面同意授权,获取c ...

  4. 微信公众平台开发(71)OAuth2.0网页授权

    微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使 ...

  5. ***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权

    本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息, ...

  6. 微信公众平台开发-OAuth2.0网页授权(含源码)

    微信公众平台开发-OAuth2.0网页授权接口.网页授权接口详解(含源码)作者: 孟祥磊-<微信公众平台开发实例教程> 在微信开发的高级应用中,几乎都会使用到该接口,因为通过该接口,可以获 ...

  7. 黄聪:微信公众平台开发OAuth2&period;0网页授权(转)

    微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使 ...

  8. 微信公众平台开发(71)OAuth2&period;0网页授权-摘抄

      微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友 ...

  9. 【2015上半年总结】js开源组件开发系列索引

    js开源组件开发系列一索引 2015.8 by 田想兵 个人网站 从3月份进入新公司以来,时经五个月,我以平均每周1个小组件的速度,已经完成的js组件有22个之余了,已基本上全部用到实际项目中,这些小 ...

  10. &lbrack;js开源组件开发&rsqb;network异步请求ajax的扩展

    network异步请求ajax的扩展 在日常的应用中,你可能直接调用$.ajax是会有些问题的,比如说用户的重复点击,比如说我只希望它成功提交一次后就不能再提交,比如说我希望有个正在提交的loadin ...

随机推荐

  1. Javascript中数组方法和方法的扩展

    最近一直在努力的恶补javascript中的各种知识,比如说闭包,作用域,继承,构造函数,变量,内置对象等概念.同时,也在学习着ES6的新知识.最近想给大家分享的就是数组实例方法的练习以及如何去扩展一 ...

  2. DevExpress实现为TextEdit设置水印文字

    本文实例展示了DevExpress实现为TextEdit设置水印文字的方法,是一个很实用的技巧.分享给大家供大家参考. 转自 http://blog.csdn.net/yh0503/article/d ...

  3. 请求一个action,将图片的二进制字节字符串在视图页面以图片形式输出

    有些时候需要将二进制图片字节在发送浏览器以图片形式显示: 下面是一些示例代码: 控制器: /// <summary> /// 将图片的二进制字节字符串在视图页面以图片形式输出 /// &l ...

  4. centos7 linux 安装jdk8

    1.下载64位jdk8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.在 ...

  5. CentOS 7下编译FreeSWITCH 1&period;6

    安装背景: 已经最小化安装CentOS 7. 准备工作: 挂载安装光盘,配置yum本地化安装,配置方法可以参考http://www.cnblogs.com/yoyotl/p/4877439.html. ...

  6. JQuery Kendo UI使用技巧总结

    Kendo UI开发总结 By Gloomyfish on 2013-04-25 在Grid中支持分页刷新:            scrollable: {virtual : true }, 在Gr ...

  7. Linux process state codes

    Here are the different values that the s, stat and state output specifiers (header "STAT" ...

  8. java小入门的感觉

    工作两三年,.NET与Java都干过,也都是应付差事,用着现有的框架,现有的规范,实现简单的功能,有余力的情况下,看看框架中的代码,欣赏一下前辈们的心血,居然在单位也算有心的了?! 最近的JAVA项目 ...

  9. oracle表中字段的添加、删除

    在oracle数据库中为一张表添加一个字段: alter table tableName add ClIENT_OS varchar2(20) default '0' not null ; 在orac ...

  10. BZOJ1515 &colon; &lbrack;POI2006&rsqb;Lis-The Postman

    首先,如果这个图本身就不存在欧拉回路,那么显然无解. 对于每个子串: 1.如果里面有不存在的边,那么显然无解. 2.如果里面有一条边重复出现,那么显然也无解. 3.对于每条边,维护其前驱与后继,若前驱 ...