教你简单实现小程序的一键登录、当前用户、用户安全功能

时间:2021-11-20 来源:未知网络 作者:996建站网

一键登录

*传统开发小程序登录后端工作:*

– 客户端调用wx.login()后获取的**code**,后端人员拿到code和微信换取openid和session_key;

– 除此之外后端人员还需要根据openid生成**session_token**作为服务器和小程序之间做登录态校验保证安全性,客户端每次请求需要带上session_token,后端需要作校验;

– 还需要提供接口给客户端保存用户信息(头像、名称等),或者根据openid去和微信换取用户信息;

– 中间的过程的调试还需要花费大量的时间

利用bmob的小程序sdk的实现**一键登录**:

以上后端开发工作全省了!!!

wx.login({
        success: function (res) {
          var user = new Bmob.User();//实例化          
          user.loginWithWeapp(res.code).then(function (user) {
            if (user.get("nickName")) {
              //更新缓存中的openid
              wx.setStorageSync('openid', user.get("openid"))
            } else {
              //*************保存用户其他信息,比如昵称头像之类的*****************
              wx.getUserInfo({
                success: function (result) {
                  var nickName = result.userInfo.nickName;
                  var avatarUrl = result.userInfo.avatarUrl;
                  var u = Bmob.Object.extend("_User");
                  var query = new Bmob.Query(u);
                  // 这个 id 是要修改条目的 id,你在生成这个存储并成功时可以获取到,请看前面的文档
                  query.get(user.id, {
                    success: function (result) {
                      // 自动绑定之前的账号
                      result.set('nickName', nickName);
                      result.set("userPic", avatarUrl);
                      result.set("openid", openid);
                      result.save();
                    }
                  });
                }
              });
              //*************保存用户其他信息,比如昵称头像之类的end*****************
            }
          }, function (err) {
            console.log(err, 'errr');
          });
        }
      });
    }

教你简单实现小程序的一键登录、当前用户、用户安全功能插图

微信扫一扫 关注公众号

微信扫一扫 使用小程序

百度扫一扫 使用小程序