前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手写一个仿微信登录的nodejs程序

手写一个仿微信登录的nodejs程序

作者头像
马克社区
发布2022-06-13 17:16:40
2550
发布2022-06-13 17:16:40
举报
文章被收录于专栏:高端IT高端IT

前言

首先,我们看一下微信开放文档中的一张图:

在这里插入图片描述
在这里插入图片描述

上面的一幅图中清楚地介绍了微信登录整个过程,下面对图上所示进行总结:

一、二维码的获得

代码语言:text
复制
用户打开登录网页后,登录网页后台根据微信OAuth2.0协议向微信开发平台请求授权登录,并传递事先在微信开发平台中审核通过的AppID和AppSecrect等参数;
微信开发平台对AppID等参数进行验证,并向登录网页后台返回二维码;
登录网页后台将二维码传送至前台进行显示;

二、微信客户端授权登录

代码语言:text
复制
用户使用微信客户端扫描二维码并授权登录;
微信客户端将二维码特定的uid与微信账号绑定,传送至微信开发平台;
微信开发平台验证绑定数据,调用登录网页后台的回调接口,发送授权临时票据code;

三、网页后台请求数据

代码语言:text
复制
登录网页后台接收到code,表明微信开发平台同意数据请求;
登录网页后台根据code参数,再加上AppID和AppSecret请求微信开发平台换取access_token;
微信开发平台验证参数,并返回access_token;
登录网页后台收到access_token后即可进行参数分析获得用户账号数据。

实现

了解了大致原理之后,我们就开始简单实现这个逻辑。因为没有直接调用微信开发平台,所以这里只是演示效果。你也可以通过访问https://www.maomin.club/qrcodelogin/这个我的线上网址体验一下。以下代码是主要逻辑,结合线上网址体验更容易理解。

let http = require(“http”); let express = require(“express”); let qrcode = require(“qr-image”); let app = express(); let path = require(“path”); let server = http.createServer(app); let url = require(“url”);

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/119815833

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档