微信扫描二维码登录第三方平台

2024-09-06 10:58

本文主要是介绍微信扫描二维码登录第三方平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

嗯。。。。。。

最近做了一个微信扫码登陆第三方平台功能,说下步骤就行,反正原理你们网上直接百度,我这里写了,估计也没几个人有耐心看

第一步 生成一个链接  

https://open.weixin.qq.com/connect/qrconnect?appid=xxxxxxxxf&redirect_uri=xxxxxxxxxxxx&response_type=code&scope=snsapi_login&state=#wechat_redirect

访问这个链接的时候,就会返回一张二维码 xxxxx地方是参数,,appid需要你开通微信开放平台,开通之后就会有,还有一个secret,,这2个都需要,这里需要注意,微信还有一个公众平台也有这2个参数,他们是不一样的。你开发的时候要区分是开放平台还是公众平台,不要掉进坑里 ,redirect_uri=这个是说,你扫描二维码之后,要跳转的地址,这里跳转回带上code和state 2个参数,所以你编写的时候需要这样



@RequestMapping(value = "/code", params = { "code", "state" }, method = RequestMethod.GET)
@ResponseBody
public Object getAuth(HttpServletRequest request, @RequestParam String code, @RequestParam String state)
throws JSONException {

         ///这里第一步,首先需要通过appid,secret ,code 去获取token 

                https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + APPID + "&secret="
      + SECRET + "&code=" + code + "&grant_type=authorization_code";//获取token的地址,

这里我使用的是 apache下的httpclient


DefaultHttpClient client = new DefaultHttpClient();


try {


   HttpGet getRequest = new HttpGet(access_token_url);
   HttpResponse response = client.execute(getRequest);


   if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
      String strResult = EntityUtils.toString(response.getEntity());


      logger.info("-------jsonResult-------" + strResult);


      JSONObject jsonResult = new JSONObject(strResult);


   
if (jsonResult.has("unionid")){
   unionid= (String) jsonResult.get("unionid");
}

这个参数非常的重要,但是我也懒得讲了,你们自己百度吧,就是要记住一点,这个参数是唯一的,

}

然后经过你后台的鉴权通过之后,跳转,至于鉴权方式,就看你自己额

你可以通过 unionid 去数据库寻找用户,,智力需要说明,,unionid是之前就获取到了用户的,然后初始化到数据库了得,至于怎么查找unionid,需要通过openid


https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN。这个是获取unionid 的,至于这个openid,你获取token 的时候,就会有的,反正你写个脚本,把他们保存数据库,当作初始化,

if (SecurityUtils.getSubject().isAuthenticated()) {
logger.info("  二维码登录成功       :   " + openid);
   logger.info("  二维码登录成功  username     :   " + (String) SecurityUtils.getSubject().getPrincipal());
return new ModelAndView("redirect:x'x'x'x'x'x'x'x'x");
}

这篇关于微信扫描二维码登录第三方平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141815

相关文章

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Vue 调用摄像头扫描条码功能实现代码

《Vue调用摄像头扫描条码功能实现代码》本文介绍了如何使用Vue.js和jsQR库来实现调用摄像头并扫描条码的功能,通过安装依赖、获取摄像头视频流、解析条码等步骤,实现了从开始扫描到停止扫描的完整流... 目录实现步骤:代码实现1. 安装依赖2. vue 页面代码功能说明注意事项以下是一个基于 Vue.js

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac