使用码上登录实现微信扫一扫登录

article/2025/9/13 2:43:11

微信扫一扫登录测试

  • 码上登录
  • 开发和使用
    • 登录的时序图
    • 准备工作
    • 后台开发
    • 前端显示

码上登录

码上登录是一个小程序,对个体开发者提供了免费的微信扫一扫登录入口,因为微信开发者需要企业认证,没办法在个人网站上做测试。码上登录相当于一个桥接入口,为我们去申请获取扫一扫之后的用户登录信息。

开发和使用

登录的时序图

在这里插入图片描述
首先我们向码上登录的服务器获取二维码信息,然后用户扫码,用户跳转到登录的小程序,用户点击登录,授权,码上登录服务器向自己的服务器回调入口返回数据,然后我们返回登录状态信息。

准备工作

在码上登录创建应用,指定回调URL,获取secretKey

后台开发

我这里使用的springboot 2.2.1.RELEASE,使用openfeign跨服务访问
数据请求接口

    @ResourceUserService userService;@ResourceUserServiceRemote userServiceRemote;@GetMapping(value = "/getQrInfo")@CrossOrigin(maxAge = 3600)public BaseResponseInfo getQrInfo(){JSONObject qRcode = userServiceRemote.getQRcode();BaseResponseInfo res = new BaseResponseInfo();res.code = 200;res.data = qRcode;return res;}@PostMapping(value = "/userScanedInfo")public JSONObject backUserScanedInfo(@RequestParam(value = "userId",required = false)  String userId,@RequestParam(value = "tempUserId",required = false) String tempUserId,@RequestParam(value = "nickname",required = false) String nickname,@RequestParam(value = "avatar",required = false) String avatar,@RequestParam(value = "ipAddr",required = false) String ipAddr){log.info("用户信息: "+"userId: "+userId+"tempUserId: "+tempUserId+"nickname: "+nickname+"avatar: "+avatar+"ipAddr: "+ipAddr);JSONObject jsonObject = new JSONObject();if (userId != null){jsonObject.put("errcode",0);jsonObject.put("message","登录成功");}else {jsonObject.put("errcode",1);jsonObject.put("message","登录失败");}return jsonObject;}

自己的服务器向码上登录服务器请求二维码数据(url)

@FeignClient(name = "wx", url = "https://server01.vicy.cn")
public interface UserServiceRemote {/*** 向码上登录服务器请求二维码*/@GetMapping(value = "/8lXdSX7F************Sdc6zfouSAEz/wxLogin/tempUserId?secretKey=beb789************3ddbab187df24f9")JSONObject getQRcode();
}

前端显示

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>login</title><script src="https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script><script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
</head>
<body>
<div style="display: block;text-align: center;background-color: aquamarine"><h2>码上登录测试</h2><button id="wxLogin">微信登录</button>
</div>
<div style="background-color: antiquewhite"><div id="qrcode" style="position: absolute;margin-top: 20px;left: 50%;transform: translate(-50%,0)"></div>
</div>
<script type="text/javascript">let qrcode = new QRCode("qrcode", {text: "",   //URL地址width: 260,height: 260,colorDark: '#000',    //二维码颜色colorLight: "#ffffff"  //背景颜色});function newQrcode(url) {qrcode.makeCode(url)}$("#wxLogin").click(function () {$.ajax({url: "http://host:port/user/getQrInfo",dataType: "json",   // 写为application/json会跳转error执行函数type: "get",success: function (result) {console.log(result.data.data.qrCodeReturnUrl)newQrcode(result.data.data.qrCodeReturnUrl)},});});
</script>
</body>
</html>

点击微信登录后显示二维码,扫码确认的登录即可
在这里插入图片描述


http://chatgpt.dhexx.cn/article/0kWKxPS4.shtml

相关文章

微信扫码登录的一种开发思路

微信扫码授权登录流程&#xff1a; 用户在显示二维码的页面用手机扫码授权页面跳转到指定地址&#xff0c;URL上带有参数code前端通过code向服务端请求用于权限认证的token前端后续请求在请求头带上token作为身份标识 需要解决的问题 按照上述的流程&#xff0c;前端最简单的…

java集成微信扫码登录

具体流程可以看微信官网的扫码登录文档 地址&#xff1a;https://open.weixin.qq.com/cgi-bin/showdocument?actiondir_list&tresource/res_list&verify1&idopen1419316505&token&langzh_CN 一、 前期准备 1、注册 微信开放平台&#xff1a;https://open…

企业微信扫码登录

企业微信扫码登录步骤&#xff1a; 1.首先在要放置二维码的页面提供一个盒子用于防止生成的二维码 2.在当前页面将企业微信提供的js进行引入 3.调用提供的方法实例&#xff0c; 4.要获得扫码成功之后的code和state值&#xff0c;调用服务&#xff0c;就能查到当前用户的token&…

扫描微信二维码实现快速登录

一、什么是二维码 二维码又称二维条码&#xff0c;常见的二维码为QR Code&#xff0c;QR全称Quick Response&#xff0c;是一个近几年来移动设备上超流行的一种编码方式&#xff0c;它比传统的Bar Code条形码能存更多的信息&#xff0c;也能表示更多的数据类型。二维条码/二维码…

个人网站如何使用微信扫一扫登录---SpringBoot项目

文章目录 前言一、码上登录是什么&#xff1f;二、使用步骤1.登录前准备&#xff0c;获取SecretKey2.前端发起登录请求3.后端调用“码上登录”服务器3.1. 配置文件3.2. 发起请求3.3.返回的参数 4.前端显示二维码5、扫一扫登录6 、登录成功后接收用户信息7、通知前端登录成功并返…

微信扫码登录是如何实现的?

网页版微信刚推出时&#xff0c;无数人被它的登录方式惊艳了一下&#xff0c;不需要输入用户名密码&#xff0c;打开手机微信扫一扫&#xff0c;便自动登录。从原理上讲&#xff0c;二维码只能是一段文本的编码&#xff0c;如何用它实现快捷登录的呢&#xff1f; 打开网页版微…

Python 最强 IDE 详细使用指南!

本文经机器之心&#xff08;微信公众号&#xff1a;almosthuman2014&#xff09;授权转载&#xff0c;禁止二次转载 选自RealPython&#xff0c;作者&#xff1a;Jahongir Rahmonov 机器之心编译&#xff0c;参与&#xff1a;魔王 PyCharm 是一种 Python IDE&#xff0c;可以帮…

用 Python 给全球女神颜值排个序

点击上方“码农突围”&#xff0c;马上关注&#xff0c;每天上午8:50准时推送 这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包 真爱&#xff0c;请设置“星标”或点个“在看” 作者 | 数据森麟 来源 | 数据森麟&#xff08;ID: shujusenlin&#…

官宣:Python 3.8正式发布!来看看有哪些新功能

点击上方“码农突围”&#xff0c;马上关注&#xff0c;每天上午8:50准时推送 这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包 真爱&#xff0c;请设置“星标”或点个“在看” 来源&#xff1a;.python.org 编辑&#xff1a;肖琴&#xff0c;转自…

人工智能可以产生自主意识吗?

作者&#xff1a;人民邮电出版社 链接&#xff1a;https://www.zhihu.com/question/372639666/answer/1343242547 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 「既然人类对自己存在的认知来源于“感知”和“记忆…

CET6 历年真题原词复现 核心词汇 做题技巧 听力拿分技巧汇总(这篇文章是英语四六级考试最后的版本,谢谢大家一路陪伴)

话不多说直接进入 这次是最后一次 也是最用心的一次关于CET6的整理&#xff0c;CET4很简单&#xff0c;我认为没有必要去整理或者帮助各位同学&#xff0c;cet4只是cet6的前置任务罢了&#xff0c;但要是你说你考完cet4就收手了&#xff0c;不考了&#xff0c;不考6级了。我只…

这一款神器,助你秒级定位线上问题!

点击上方“Github中文社区”&#xff0c;关注 触达Github项目来源&#xff1a;https://my.oschina.net/leejun2005/blog/1524687 背景 经常做后端服务开发的同学&#xff0c;或多或少都遇到过 CPU 负载特别高的问题。 尤其是在周末或大半夜&#xff0c;突然群里有人反馈线上机器…

前端工程师高手说说CSS学习中的瓶颈

一、何为瓶颈&#xff1f; “瓶颈”指瓶子的颈部&#xff0c;相对狭窄。这是很传神的一个词&#xff0c;因为狭窄&#xff0c;因此难以突破&#xff1b;但是&#xff0c;一旦突破了&#xff0c;就是广阔天空&#xff08;偌大瓶身&#xff09;&#xff01; 小弟不才&#xff0…

线上服务 CPU 100%?一键定位 so easy!

转自&#xff1a;大数据之路&#xff0c; 链接&#xff1a;my.oschina.net/leejun2005/blog/1524687 背景 经常做后端服务开发的同学&#xff0c;或多或少都遇到过 CPU 负载特别高的问题。 尤其是在周末或大半夜&#xff0c;突然群里有人反馈线上机器负载特别高&#xff0c;不熟…

线上服务 CPU 100% ?一键定位 so easy!

来源&#xff1a;my.oschina.net/leejun2005/blog/1524687 背景 经常做后端服务开发的同学&#xff0c;或多或少都遇到过 CPU 负载特别高的问题。 尤其是在周末或大半夜&#xff0c;突然群里有人反馈线上机器负载特别高&#xff0c;不熟悉定位流程和思路的同学可能登上服务器一…

牛逼的故障诊断工具!秒级定位线上问题

背景 经常做后端服务维护或开发的同学&#xff0c;或多或少都遇到过CPU 负载特别高的问题。尤其是在周末或大半夜&#xff08;有没有同感&#xff0c;平时不出问题&#xff0c;一到休息或下班时间频繁出故障&#xff0c;有的文末点个在看示意一下&#xff09;&#xff0c;突然群…

推荐一款神器,助你秒级定位线上问题!

来源&#xff1a;my.oschina.net/leejun2005/blog/1524687 背景 经常做后端服务开发的同学&#xff0c;或多或少都遇到过 CPU 负载特别高的问题。 尤其是在周末或大半夜&#xff0c;突然群里有人反馈线上机器负载特别高&#xff0c;不熟悉定位流程和思路的同学可能登上服务器一…

最牛逼的故障诊断工具!秒级定位线上问题

点击下方公众号「关注」和「星标」 回复“1024”获取独家整理的学习资料&#xff01; 背景 经常做后端服务维护或开发的同学&#xff0c;或多或少都遇到过CPU 负载特别高的问题。尤其是在周末或大半夜&#xff08;有没有同感&#xff0c;平时不出问题&#xff0c;一到休息或下班…

WheelView地区选择三级联动详解

1. 效果 最近需要做一个地区选择的功能&#xff0c;但是在网上和github上找了很久都没找到满意的&#xff0c;然后朋友推荐了一个给我&#xff0c;我花了点时间把代码大致看懂并改成我想要的&#xff0c;并写上我的理解。效果如图&#xff1a; 2. 注意 a. 首先我们要明白…

如何用美剧真正提升你的英语水平————转自厦大口译的博客

看到很多童鞋讨论有关美剧学习英语到底有没有用&#xff0c;以及用哪部美剧练习&#xff0c;我在这里想说这只是一个参考&#xff0c;世界上没有绝对的事情&#xff0c;究竟有没有用看个人 1. 不是所有的美剧都适合学英语 如果喜欢看如《24小时》这样的动作片, 那你基本会讲一口…