小程序实现微信登录Java后端(一)--前端实现

目录

一、概述

二、登录流程

三、前端代码

四、解读前端代码

1、登录部分

2、检查当前用户是否已登录

3、小程序启动时校验登录

五、阶段性小结

最近终于有时间去搞一下准备参加比赛的小程序,小程序一开始设计的是使用邮箱登录,老师建议直接实现微信登录,更加方便,以前没有搞过,这次试一下。

网上实现小程序微信登录的教程不是很多,其中使用后台的更是少之又少,大部分是基于.的,而且网上的教程大部分代码缺头少尾,让人摸不着头脑,所以我打算写一个思路清晰一些的教程。

首先附上微信官方文档给的微信登录流程:

先理解一下几个概念

:是小程序通过.()获取的,也是用户注册、登录时,前端向后端发送登录凭证。

:是后端使用作为参数,调用微信接口服务获得的。是每个微信用户在一个特定的小程序或公众中的唯一标识符,可以用来区分不同用户。

_:也是后端使用作为参数,调用微信接口服务获得的。_是与当前用户会话相关的密钥,用于进行数据加密和解密。其重要性不及,可以选择性使用。

者服务器:跑后端代码的服务器。

微信接口服务:微信官方提供的,者可以调用这个获得  和 _ 。

从微信官方文档可以看出,具体流程分为一下几点:

在小程序前端,使用 . 获取用户的临时登录凭证 。将获取到的 使用 . 发送给后端服务器。在后端服务器中,使用这个 调用微信接口服务得到用户的 _ 和 。可以使用微信提供的登录接口或者第三方库来实现这一步骤。将获取到的 _ 和 存储到后端数据库中,这样后面可以根据这些信息来识别和关联用户。在后端服务器中,根据 将用户的其他信息存储到数据库中。注意,要确保用户的 是唯一的,可以使用 作为用户的唯一标识。存储完用户信息后,后端可以生成一个用户的 并返回给小程序前端。小程序前端可以将这个存储在和本地缓存中。后续的请求可以携带这个 进行身份验证和授权。

注意微信新出的规定:

从大概2025年十月份起,不允许小程序在获得用户微信登录授权后,直接通过弹窗方式询问是否可以获得用户的微信头像和昵称。好像是因为好些小程序设置了,如果用户禁止小程序使用头像昵称,小程序就会阻止用户登录,即使用户已经授权了微信登录。官方好像认为这侵犯了用户的权益。(好像是这样,我也不太确定哈)

以前的规定是:如果需要存储用户的其他信息(如昵称、头像等),在小程序前端使用 . 获取用户信息。

现在的规定是:当小程序需要让用户完善个人资料时,可以通过微信提供的头像昵称填写能力快速完善。

具体见官方文档 头像昵称填写 微信开放文档

后面的文章中,我会讨论一下,在新规定下怎么样获取微信用户头像昵称。

了解完基本流程后,者应该获取两个必要的东西,后面用得到:

(小程序)  (小程序密钥)

登录进入 微信公众平台 -管理-者 即可看到。

这里注意,你微信者工具里的 ,和你在官网拿到的 ,还有保存在后端的 要保持一致,不然后面会出现离谱的错误。还有一点,就是  一定要和  是同一个小程序的,一定要注意!!

注意,修改直接在小程序目录下的..中修改即可。

经测试,如果直接在微信者工具>设置>项目设置>基本信息> 修改,..中的不会改变。

而直接在..中修改,上图中者工具的会随之修改。

前端代码的话,我是参考了微信小程序实现用户登录(详)_微信小程序登录_灵魂学者的博客-博客这篇博客写的,这位大佬的后端是基于的,但是他的思路是一种循序渐进式的,如果没有耐心看完的话,很可能到一半就崩溃了哈哈哈。

前端代码如下:

因为微信登录是你打开小程序的时候,就要弹出来的,所以上面的代码要写在 . 里面。

1、登录部分

注意上面  令牌的生成:后端使用 调用微信接口服务得到的用户的 _ 和 ,将 经过加密变换或者结合时间戳的方式生成的,后面的文章会介绍到。

2、检查当前用户是否已登录

3、小程序启动时校验登录

实现微信登录的前端部分已经实现好了,后续文章会继续介绍如何用写后端逻辑、获得用户头像昵称等,尽情期待……

© 版权声明
THE END
分享