返回
微信网页授权、用户信息获取和内网映射测试的进阶指南
前端
2024-01-22 12:08:11
1. 鉴权登录的整体流程
- 用户在前端点击登录按钮。
- 前端将用户重定向到微信的授权页面。
- 用户在微信授权页面授权后,微信将用户重定向到前端的授权回调页面。
- 前端获取微信返回的授权码。
- 前端将授权码发送给后端。
- 后端使用授权码向微信换取用户信息。
- 后端将用户信息存储到数据库中。
- 后端返回给前端一个登录凭证。
- 前端使用登录凭证登录网站。
2. 前端和后端的分工
- 前端负责:
- 创建登录按钮。
- 将用户重定向到微信的授权页面。
- 获取微信返回的授权码。
- 将授权码发送给后端。
- 使用登录凭证登录网站。
- 后端负责:
- 使用授权码向微信换取用户信息。
- 将用户信息存储到数据库中。
- 返回给前端一个登录凭证。
3. 回到鉴权前的页面
前端可以在授权回调页面使用window.location.href来回到鉴权前的页面。例如:
window.location.href = "http://www.example.com";
4. 本地测试微信网页授权
- 在本地机器上安装nginx。
- 配置nginx的配置文件,使其能够代理请求到微信的授权页面。
- 在本地机器上搭建一个网站,该网站包含一个登录按钮。
- 在网站的登录按钮上添加一个点击事件监听器,该监听器负责将用户重定向到nginx代理的微信授权页面。
- 在本地机器上运行网站。
- 在微信中打开网站的URL,并点击登录按钮。
- 微信将用户重定向到nginx代理的微信授权页面。
- 用户在微信授权页面授权后,微信将用户重定向到网站的授权回调页面。
- 网站的授权回调页面获取微信返回的授权码。
- 网站的授权回调页面将授权码发送给本地机器上运行的后端。
- 后端使用授权码向微信换取用户信息。
- 后端将用户信息存储到数据库中。
- 后端返回给网站的授权回调页面一个登录凭证。
- 网站的授权回调页面使用登录凭证登录网站。
5. 搭建内网映射测试
- 在内网机器上安装nginx。
- 配置nginx的配置文件,使其能够代理请求到微信的授权页面。
- 在内网机器上搭建一个网站,该网站包含一个登录按钮。
- 在网站的登录按钮上添加一个点击事件监听器,该监听器负责将用户重定向到nginx代理的微信授权页面。
- 在内网机器上运行网站。
- 在外网机器上打开网站的URL,并点击登录按钮。
- 微信将用户重定向到nginx代理的微信授权页面。
- 用户在微信授权页面授权后,微信将用户重定向到网站的授权回调页面。
- 网站的授权回调页面获取微信返回的授权码。
- 网站的授权回调页面将授权码发送给外网机器上运行的后端。
- 后端使用授权码向微信换取用户信息。
- 后端将用户信息存储到数据库中。
- 后端返回给网站的授权回调页面一个登录凭证。
- 网站的授权回调页面使用登录凭证登录网站。