# 《小型支付商城系统》第3-3节:登录功能设计实现
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
# 一、本章诉求
通过微信公众号平台提供的 API 接口,做微信公众号扫码登录。
扫码登录主要是需要微信公众号平台,提供一个生成带参的二维码,让用户使用微信扫描二维码登录。扫码后我们在微信公众号对接的接口中会接收到扫码完成消息,里面就会含带二维码参数,这样就可以知道到是谁扫描的二维码。我们把扫描后解析的信息和用户做绑定,也就可以完成登录操作了。
# 二、登录流程
微信扫码登录的流程主要包括;用户、浏览器、后端服务、公众号,这四个部分。我们可以先通过UML流程图,了解下整个调用关系。此流程已在《第2部分,工程四色建模设计》 (opens new window)中讲解。
- 首先,由用户发起登录操作。让WEB页面从服务端获取登录凭证。
- 之后,前端页面拿到登录凭证后,可以使用 Ticket 从公众号服务平台换取二维码。
- 最后,用户扫码登录。扫码后,服务端会接收到来自公众号的回调消息,服务端再把回调消息中的 openid【用户唯一标识】和 ticket 进行绑定。这个时候你也可以创建出 jwt token 反馈给前端,作为登录成功的存储信息,后续校验 jwt token 就可以了。