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

article/2025/9/13 2:45:38

文章目录

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


前言

近期在开发一个个人web项目,后端SpringBoot+前端使用Vue开发。开发过程中,考虑到现在微信使用如此普及,扫码登录开始越来越流行,所以决定使用微信扫码登录。了解微信官方的扫码登录后发现有一个致命问题,不支持个人网站扫码登录,必须是企业才能申请。所以决定寻找一种更加便捷的“微信扫码”登录方式,有一天刷着刷着无意间找到一个可以免费用微信登录的方法就是“码上登录”,SHOW TIME


提示:以下是本篇文章正文内容,下面案例可供参考

一、码上登录是什么?

“码上登录”是一个与微信扫码登录功能差不多的一个小程序。使用方便且简单,去除了使用微信官方扫码登录的各种繁琐步骤,没有繁琐的各种注册、登记、企业认证啥的,对非企业和个人来说就是一个很方便的接口啦。只需要去“码上登录”官方注册并且申请我们调用该接口时所需要的“secretkey”就可以了,免费免费免费

二、使用步骤

1.登录前准备,获取SecretKey

secretKey是我们调用“码上登录”服务器时候需要进行验证的凭证,我们需要去“码上登录”官网创建
申请secretKey链接:http://login.vicy.cn/index.html
微信扫码登录后点击“马上创建应用”,再点击“创建应用”,输入应用名称和回调url(回调url就是用来接收扫码登录成功后的用户信息)
在这里插入图片描述
例如我创建的
在这里插入图片描述

2.前端发起登录请求


前后端使用的是“WebSocket”进行连接交互的,当我们点击此按钮时,前端便会通知后端发起登录请求,例如我这里给后端发送一个内容为“qrCodeInfo”的消息,消息内容可自定义,这些是WebSocket的知识,不过多描述。

3.后端调用“码上登录”服务器

3.1. 配置文件

建议把Secretkey放在Springboot项目配置文件(.yml)中,wxLogin的配置下

wxLogin:tempUserIdUrl:https://server01.vicy.cn/8lXdSX7FSMykbl9nFDWESdc6zfouSAEz/wxLogin/tempUserIdsecretKey: xxxxxxxxxxxxxxxxxxxxxxxxxxx

例如我这样
在这里插入图片描述

3.2. 发起请求

当收到前端发来的内容为“qrCodeInfo”的消息后,开始调用“码上登录”服务器接口

(https://server01.vicy.cn/8lXdSX7FSMykbl9nFDWESdc6zfouSAEz/wxLogin/tempUserId?secretKey=xxxxxxxxxxxxx),

在qrCodeInfo此方法中,取出yml中的tempUserIdUrl和Secretkey,把他们拼接起来然后开始调用“码上登录”服务器
在这里插入图片描述

3.3.返回的参数

restTemplate.getForObject返回的参数
在这里插入图片描述
当errcode==0时就是访问成功的,使用Map<String,Object>来接收。

tempUserId:是我们这次会话的凭证,当有多个用户登录时,通过tempUserId就可以识别出是哪一个用户登录成功,而tempUserId就是我们这次会话的凭证。

qrCodeReturnUrl:通过Websocket把qrCodeReturnUrl发送给前端生成二维码
在这里插入图片描述

其中Object.data里的数据
在这里插入图片描述

4.前端显示二维码

前端收到qrCodeReternurl后,生成二维码(具体怎么生成,问问度娘或者本站搜一下就可以了,一大堆)
在这里插入图片描述

5、扫一扫登录

使用微信扫一扫,扫码以后。您正在登录下的“某某某”官网就是创建应用时填写的内容
在这里插入图片描述

点击立即登录后,则会通过注册时的回调url将相关的登录信息返回给开发者服务器。也就是你回调url中写的使用哪个方法接收小程序获取到的登录信息

在这里插入图片描述

6 、登录成功后接收用户信息

用户登录成功后,“码上登录”服务器会给开发者服务器发送用户信息,该请求是一个“POST”类型,内容格式是JSON,参数如下

在这里插入图片描述

在这里插入图片描述

7、通知前端登录成功并返回状态码

后端通过tempUserId识别出是哪一个前端,然后通知前端登陆成功。当开发者服务器接收到“码上登录”服务器返回的参数无误并且登录成功后,开发者服务器需要向“码上登录”服务器返回一个是否登录成功的状态码,内容格式是JSON,参数如下
在这里插入图片描述

登录成功

在这里插入图片描述


以上就是个人站微信扫一扫登录的开发过程,大家也可以到我做的个人网站进行参观指导,懒人图(http://www.px1920.cn)



http://chatgpt.dhexx.cn/article/ki5PbXtT.shtml

相关文章

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

网页版微信刚推出时&#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小时》这样的动作片, 那你基本会讲一口…

美剧命名规则

缘起 最近工作需要研究了下ffmpeg这个工具.在查资料的时候意外发现美剧制作组发布的美剧的名字是有规则的. 美剧命名规则 剧名.S季数E集数.集名(可以不标).发布年代(可以不标).分辨率(可以不标).信号采集源.音频编码(默认的MP3可以不标).视频编码-制作组 下面举例子说一下吧. 例…

EOS 智能合约

1. EOS智能合约的介绍 1.1. 所需背景知识 C / C 经验 基于EOS.IO的区块链使用Web Assembly(WASM)执行开发者提供的应用代码。WASM是一个已崭露头角的web标准&#xff0c;受到Google, Microsoft, Apple及其他大公司的广泛支持。目前为止&#xff0c;最成熟的用于构建应用及WA…

EOS智能合约开发(三)EOS创建和管理账户

创建好钱包和密钥后&#xff0c;我们就需要创建账户。为什么创建账户&#xff0c;为了方便人与区块链交互。以太坊40位地址&#xff0c;让我们非常难以记忆。EOS有账户概念&#xff0c;我们就可以定义账户权限。 在区块链上执行操作&#xff0c;需要使用到账号。我们使用cleos…

固化EOS智能合约,监管升级权限,净化EOS DAPP生态

最近EOS版的Fomo 3D狼人杀游戏骗局引发了大家对EOS智能合约的安全性的大讨论。 和以太坊智能合约的不可升级不同&#xff0c;EOS智能合约可升级&#xff0c;因而保存在智能合约中的数据称不上去中心化&#xff0c;因为智能合约的管理员可偷偷的升级智能合约来修改合约里的任何数…

[EOS源码分析]7.EOS智能合约开发实践之合约调用合约(inline action)

首先&#xff0c;目前dawn-4.1, dawn-4.2使用inline action是会报如下错误 transaction declares authority {"actor":"hello.code","permission":"active"}, but does not have signatures for it under a provided delay of 0 ms 这…