微信小程序的登录流程

基本流程:

1、调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。

3、之后开发者服务器可以根据用户标识来 生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。

注意事项:

1、会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。

2、临时登录凭证 code 只能使用一次

实际业务中,检查登录态是否过期,通常的做法是在登录态(临时令牌)中保存有效期数据,该有效期数据应该在服务端校验登录态时和约定的时间(如服务端本地的系统时间或时间服务器上的标准时间)做对比。

这种方法需要将本地存储的登录态发送到小程序的服务端,服务端判断为无效登录态时再返回需重新执行登录过程的消息给小程。

另一种做法是开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效。

如果过期,则发起完整的登录流程

如果不过期,则继续使用本地保存的自定义登录态

这种方式的好处是不需要小程序服务端来参与校验,而是在小程序端调用API,流程如下所示:

基本流程: 1、调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 3、之后开发者服务器可以根据用户标识来 生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。 注意事项: 1、会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。 2、临时登录凭证 code 只能使用一次 实际业务中,检查登录态是否过期,通常的做法是在登录态(临时令牌)中保存有效期数据,该有效期数据应该在服务端校验登录态时和约定的时间(如服务端本地的系统时间或时间服务器上的标准时间)做对比。 这种方法需要将本地存储的登录态发送到小程序的服务端,服务端判断为无效登录态时再返回需重新执行登录过程的消息给小程。 另一种做法是开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效。 如果过期,则发起完整的登录流程 如果不过期,则继续使用本地保存的自定义登录态 这种方式的好处是不需要小程序服务端来参与校验,而是在小程序端调用API,流程如下所示:
经验分享 程序员 微信小程序 职场和发展