用bmob简单实现一键登录功能

一、什么是bmob后端云?这个能用来干什么?

我们在开发项目的时候肯定需要开发服务器的,但在个人开发时除了写客户端之外还要再写服务器端就很麻烦

这时候使用bmob后端云就能完美解决我们这个问题(重点是免费的!!!)

我们只需进行服务器开发即可

bomb后端云官网:Bmob后端云

二、如何使用后端云

登陆注册一个账号和看开发文档;

因为是简单的东西我就此跳过,涉及相关的操作下面我会详细提出的

三、使用bmob后端云实现的微信小程序自动登录

1.网站后台创建应用

登陆进去用户中心后点击左上方的创建应用

填好你要创建的应用相关信息

进行扫码绑定后创建成功

2.配置小程序密钥和获取应用密钥

登录微信公众平台,进入设置->开发设置来获取AppID和AppSecret

然后回到bmob,进入设置->应用配置,将AppID和AppSecret填进去即可

3.配置安全域名

进入微信小程序后台配置里

在设置->开发设置->服务器域名

如图所示进行配置

4.下载和安装BmobSDK

点击下载小程序bmobSDK

使用方法:

①下载将utils目录复制至项目目录下

②在App.js初始化SDK

varBmob =require('utils/bmob.js');Bmob.initialize("你的Application ID","你的REST API Key");

Application ID和 REST API Key在后端云的设置->应用秘钥里获得

5.小程序相关开发

使用后端云实现一键登录很简单

固定写法

只需在APP.js这样子写就行了

App({onLaunch:function(){varuser =newBmob.User()//开始注册用户user.auth().then(function(obj){console.log('登陆成功')    },function(err){console.log('失败了', err)      });  },getUserInfo:function(cb){varthat =thisif(this.globalData.userInfo) {typeofcb =='function'&& cb(this.globalData.userInfo)    }else{//调用登录接口 wx.login({success:function(){          wx.getUserInfo({success:function(res){              that.globalData.userInfo = res.userInfotypeofcb =='function'&& cb(that.globalData.userInfo)            }          })        }      })    }  },globalData: {userInfo:null}})

user用户对象中的loginWithWeapp方法使用当前使用小程序的微信用户身份注册或登录,成功后用户的 session 会在设备上持久化保存,之后可以使用 Bmob.User.current() 获取当前登录用户

如果该用户是第一次使用此应用,调用登录 API 会创建一个新的用户,你可以在 控制台 >应用> 数据中的_User表中看到该用户的信息,如果该用户曾经使用该方式登录过此应用,再次调用登录 API 会返回同一个用户。

登录后获取到一个用户数据对象,包括用户唯一标识objectId、openid、nickName、avatarUrl、authData,authData包括session_token登录校验,小程序sdk封装了请求带上了缓存authData的session_token,所以session_token这部分 不需要bmob的开发者考虑;

当前用户

如果用户每次打开App的时候都要求登录无疑是令人感到厌烦的,你可以通过缓存当前的Bmob.User对象来避免这个问题。

无论你使用任何注册或者登录方法,用户都会在localStorage中储存,你可以把缓存作为一个session对待,并且自动假设用户已经登录了。

你可以操作Bmob.User.current()来获取当前用户的信息

用户安全

Bmob.User类默认就是受保护的,在Bmob.User中保存的数据只能被那个用户所修改。默认地,数据仍然可以被任意客户端所读取。这样就是说,有些Bmob.User对象被认证后是可以修改的,其他的仍然是只读的。

特别的,你不能调用save或者delete方法除非Bmob.User经过了认证,就比如调用过了logIn或者signUp方法,这样保证只有用户能改动他们自身的数据。

你可能感兴趣的:(用bmob简单实现一键登录功能)