SpringBoot 微信第三方登陆详解

SpringBoot 微信第三方登陆详解第一步这篇文章只讲三方登陆主要实现步骤 不讲理论这是详细理论拿到微信拉取二维码的接口地址建一个网页设一个跳转 a 标签接口地址 https open weixin com connect qrconnect appid APPID amp redirect uri REDIRECT URI amp response type code amp scope SCOPE amp state STATE wechat redirect 开发平台创建完成后 获取到 appid 和 appsecre

第一步

在这里插入图片描述

就像这样点击就出来二维码

 / js动态获取?后面的参数,并且封装成一个json对象 * @returns {Object}*/ function getParam(){ var url=location.search; var param = new Object(); if(url.indexOf("?")!=-1){ var str = url.substr(1) strs = str.split("&"); for(var i=0;i 
  

在这里插入图片描述


第二步

import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.params.HttpMethodParams; import java.io.IOException; public class HttpClientUtils { 
     / * 发送get请求 * @param url 请求地址 * @return 返回内容 json */ public static String httpGet(String url){ 
     // 1 创建发起请求客户端 try { 
     HttpClient client = new HttpClient(); // 2 创建要发起请求-tet GetMethod getMethod = new GetMethod(url); // getMethod.addRequestHeader("Content-Type", // "application/x-www-form-urlencoded;charset=UTF-8"); getMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf8"); // 3 通过客户端传入请求就可以发起请求,获取响应对象 client.executeMethod(getMethod); // 4 提取响应json字符串返回 String result = new String(getMethod.getResponseBodyAsString().getBytes("utf8")); return result; } catch (IOException e) { 
     e.printStackTrace(); } return null; } } 
 <!--处理json--> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency> 
//前端描码拿到code String code = map.get("code"); //准备发送get请求 获取openid 替换接口网址里面的字段 String url = WxConstants.GET_ACK_URL.replace("APPID", WxConstants.APPID) .replace("SECRET", WxConstants.SECRET).replace("CODE", code); //发送get请求 返回access_token 拿到openid和unionid String httpGet = HttpClientUtils.httpGet(url); //json字符串转换成json对象 JSONObject jsonObject = JSON.parseObject(httpGet); //从json对象中获取openid和access_token String openid = jsonObject.getString("openid"); String access_token = jsonObject.getString("access_token"); 

:第三步

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204323.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:33
下一篇 2026年3月19日 下午8:33


相关推荐

  • 图解Linux命令之–dos2unix命令

    图解Linux命令之–dos2unix命令dos2unix命令–&gt;DostoUNIX的缩写,用来将DOS格式的文本文件转换为UNIX格式find.-typef-execdos2unix{}\;find.-typef|xargs|dos2unix备注:1)为什么需要用dos2unix进行格式转换在Linux系统下经常会出现下列提示:/bin/sh^M:badinter…

    2022年7月14日
    22
  • 在phpstorm中如何对比文件呢?「建议收藏」

    在phpstorm中如何对比文件呢?

    2022年2月9日
    469
  • mybatis log plugin 激活码(注册激活)[通俗易懂]

    (mybatis log plugin 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    1.6K
  • gmapping matlab实现_Gmapping笔记[通俗易懂]

    gmapping matlab实现_Gmapping笔记[通俗易懂]2D-slam激光slam:开源代码的比较HectorSLAMGmappingKartoSLAMCoreSLAMLagoSLAM作者:kint_zhao原文:https://blog.csdn.net/zyh821351004/article/details/47381135最近找到一篇论文比较了一下目前ros下2D激光slam的开源代码效果比较:详细参见论文:Anevalu…

    2022年6月29日
    28
  • Enterprise Library概述

    Enterprise Library概述Webcast网络讲座:企业库系统课程企业库(EnterpriseLibrary)是微软的模式与实践(Patterns&Practices)的下一代应用程序块(ApplicationBlocks)。该企业库的设计思想是为了协助开发商解决企业级应用开发过程中所面临的一系列共性的问题,如安全(Security)、日志(Logging)、数据访问(DataA…

    2022年10月20日
    5
  • 图解正向代理和反向代理的区别_nginx配置多个正向代理

    图解正向代理和反向代理的区别_nginx配置多个正向代理套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术。一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术。常用的代理技术分为正向代理、反向代理和透明代理。本文就是针对这三种代理来讲解一些基本原理和具体的适用范围,便于大家更深入理解代理服务技术。一、正向代理(ForwardProxy)&nbs…

    2022年8月30日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号