第一步:配置域名

由于我是本地测试,需要一个域名映射工具,改工具使用非常简单,如果自己有域名可以使用自己的域名(自己的域名必须备案)如果没有可以在第一个输入框里面输入自己的域名前缀!微信授权登录端口必须为80,然后点击后台运行映射既可以了!

工具下载地址: 点我下载
下面是怎么配置域名,配置完域名以后需要把一个MP_verify_xK4DtJdHxlgIHIju.txt放到项目根目录里面

/*** 配置微信文件*/@GetMapping(value = "/MP_verify_xK4DtJdHxlgIHIju.txt")@ResponseBodypublic String config() {return "xK4DtJdHxlgIHIju121";};

具体配置域名查看以下连接:
https://jingyan.baidu.com/article/3c48dd34a2e52ee10be358f0.html

第二步:配置yml文件

# 项目相关配置
XF:# 微信授权登录配置# 凭证获取GETwx_token_url: https://open.weixin.qq.com/connect/oauth2/authorize?# 用户同意授权,回调url----你的域名后面再加上/getcodewx_redirect_url: XXXX.XXX/getcode# 获取openidwx_openid_url: https://api.weixin.qq.com/sns/oauth2/access_token?# 拉取用户信息wx_userinfo_url: https://api.weixin.qq.com/sns/userinfo?# 微信appid-----换成自己的wx_appid: XXXXX# 微信appSecret-----换成自己的wx_secret: XXXX

第三步:跳转微信然后获取code

@GetMapping(value = "/wxLogin")public String get() {String url = wx_token_url + "appid=" + wx_appid + "&redirect_uri=" + wx_redirect_url + "&response_type=code&scope=snsapi_userinfo&state=123#wechat_redi";return "redirect:" + url;}

第四步:跳转微信然后获取code

导入阿里云的JSON

<!-- 阿里云json -->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version>
</dependency>

里面用到的doPost()方法请点击这里前去复制;
代码:

   /*** 获取Code* @param code Code* @return*/@RequestMapping(value = "/getcode")@ResponseBodypublic String getCode(String code) {// 根据Code获取OpenidString openidUrl = wx_openid_url + "appid=" + wx_appid + "&secret=" + wx_secret + "&code=" + code + "&grant_type=authorization_code";String openidMsg = MyHttpUtils.doPost(openidUrl, "", CharsetKit.UTF_8);// 解析返回信息JSONObject result = JSON.parseObject(openidUrl);// 网页授权接口调用凭证String access_token = result.getString("access_token");// 用户刷新access_tokenString refresh_token = result.getString("refresh_token");// 用户唯一标识String openid = result.getString("openid");System.err.println("code:" + code);System.err.println("网页授权接口调用凭证:" + access_token);System.err.println("用户刷新access_token:" + refresh_token);System.err.println("用户唯一标识:" + openid);// 拉取用户信息String userInfoUrl = wx_userinfo_url + "access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN";String userInfoMsg = MyHttpUtils.doPost(userInfoUrl, "", CharsetKit.UTF_8);// 解析返回信息JSONObject userInfo = JSON.parseObject(userInfoMsg);System.err.println("用户openid:" + userInfo.getString("openid"));System.err.println("名字:" + userInfo.getString("nickname"));// 值为1时是男性,值为2时是女性,值为0时是未知System.err.println("性别:" + userInfo.getString("sex"));System.err.println("省份:" + userInfo.getString("province"));System.err.println("城市:" + userInfo.getString("city"));System.err.println("国家:" + userInfo.getString("country"));System.err.println("头像:" + userInfo.getString("headimgurl"));System.err.println("特权:" + userInfo.getString("privilege"));System.err.println("unionid:" + userInfo.getString("unionid"));return code;}

官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

欢迎大家加入Java互助交流群:470765097

SpringBoot2.0(九):实现微信授权登录并且获取用户信息相关推荐

  1. 微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现)

    微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现) 文章目录 微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现) 准备工作 开发思路 具体代 ...

  2. 微信公众号授权登录,获取用户信息openid(亲测有效)

    需求:客户登录微信公众号进行账号注册,绑定微信openid,下次根据openid验证自动登录. 详细代码:https://download.csdn.net/download/yaya_jn/7492 ...

  3. 微信授权登录及存储用户信息(fastadmin开发项目)

    最近做了一个微信投票系统,这是第一次开发微信项目,所以特此记录一下 微信投票系统,最优先想到的就是授权登录,以及获取用户信息 1.首先需要申请微信公众号(此次使用的是服务号) 2.在微信公众平台基本配 ...

  4. 微信公众号授权登录、获取用户信息(openid)

    配置微信公众号开发环境就不赘述了. 进入正题..... 首先,先理清楚微信登录的两种实现途径(这里我们先演示一种)1.微信开放平台实现,2.微信公众号(微信公众平台)实现. 因为微信登录不同与QQ登录 ...

  5. java支付宝网页授权登录界面_支付宝开发平台之第三方授权登录与获取用户信息...

    对于第三方登录,我们常见了,很多应用可以进行第三方登录,我常用的有:QQ.微信.新浪.支付宝等等,今天我们就一起来简单学习一下支付宝第三方授权登录. 打开支付宝开发平台,注册成为开发者,点击开发者中心 ...

  6. uni-app授权登录,获取用户信息及用户手机号

    最近刚接触了uni-app,用于开发微信小程序,设计到了微信授权登录.抽个时间整理个笔记,适用于向我一样刚开始上手uni-app的初学者. 首先要明确uni-app框架有自己的开发一套开发流程,和微信 ...

  7. uniapp - 编译微信小程序项目的微信授权登录、获取微信手机号登录、最新版微信直接登录、手机与验证码登录的示例源码(适用于 uniapp 微信小程序项目,源代码直接开箱即用)超级详细的代码及注释

    效果图 uniapp 项目编译微信小程序,一些常见的登录方式及源代码,示例代码干净整洁无BUG拿来即用. 本文示例实现了 uniapp 微信小程序项目的登录功能,包含微信授权登录.获取微信手机号登录. ...

  8. 关于网页版微信扫码登录以及获取用户信息

    由于我只研究了1天时间,可能有些地方认知错误 1:网页版微信扫码登录的流程 ① 点击扫码登录按钮 ② qrAuthorize(访问微信接口,如果微信接口判断有权限生成二维码的话,跳转到二维码页面.) ...

  9. php把微信一键登录,PHP微信第三方实现一键登录及获取用户信息的方法(实例详解)...

    这篇文章主要介绍了PHP版微信第三方实现一键登录及获取用户信息的方法,较为详细的分析了微信第三方登陆的相关注意事项与实现技巧,需要的朋友可以参考下 注意,要使用微信在第三方网页登录是需要"服 ...

最新文章

  1. Linux-常用系统管理命令
  2. java的annotation_Java Annotation认知(包括框架图、详细介绍、示例说明)
  3. 基于jsp的教师科研工作量_基于jsp+mysql的JSP教师科研信息管理系统
  4. Enze Second day
  5. 用.net 2003开发Windows CE应用,解决与pocket pc通讯的问题
  6. offload error: cannot find offload entry解决办法
  7. ELK结合Beats工具的搭建使用(Metricbeat、Filebeat、Topbeat)
  8. pca各个向量之间的相关度_机器学习十大经典算法之PCA主成分分析
  9. excel显著性检验_数据分析系列 10/32 | Excel方差分析之单因素方差分析
  10. 基于51单片机中文汉字LCD12864滚动显示屏仿真(源码+仿真+全套资料)
  11. 通达信c语言接口,通达信数据接口及日线数据格式
  12. 复制错误:安装程序无法复制文件 Atapi.sys
  13. 学习笔记—网络规划和设计
  14. 【luogu/字符串】多项式输出(所有情况一起处理)
  15. android解析包时出现问题怎么解决方法,手机安装APP提示解析错误怎么办?解析包时出现问题如何解决?...
  16. 记一次服务不能正常使用 tmp文件爆满
  17. 合工大机器人足球仿真考试题56题(底层uva)
  18. 应用程序编程接口大全_应用程序编程接口101
  19. 串行口中断服务函数的触发条件-------TI/RI 触发
  20. JAVA强制类型转换总结

热门文章

  1. 动态路由、OSPF多区域、ABR,ASBR
  2. pixel 3 变焦_D3变焦—缺少的手册
  3. 修改Windows系统同步网络时间的频率
  4. 人体工学电脑椅选购建议 | 潘魏增
  5. vue kepp-alive实践总结
  6. 2020年ICPC辽宁省赛- 最长回文串(Java)
  7. 做了个新网站http://qq.ihaonet.com/全球最大QQ聊天交友网站
  8. android3d画廊自动切换,Android实例(一)—— 3D画廊
  9. 如何在图片里藏其他文件
  10. 最后期限Lite,兴趣社区圈子论坛小程序前后端