欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

基于bmob快速搭建小程序用戶模塊(包括登錄、當(dāng)前用戶、用戶安全) ... - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >

基于bmob快速搭建小程序用戶模塊(包括登錄、當(dāng)前用戶、用戶安全) ...

發(fā)表時(shí)間:2021-3-31

發(fā)布人:葵宇科技

瀏覽次數(shù):90

一鍵登錄

開發(fā)小程序登錄后端工作:

  • 客戶端調(diào)用wx.login()后獲取的code,后端人員拿到code和微信換取openid和session_key;
  • 除此之外后端人員還需要根據(jù)openid生成sessiontoken作為服務(wù)器和小程序之間做登錄態(tài)校驗(yàn)保證安全性,客戶端每次請(qǐng)求需要帶上sessiontoken,后端需要作校驗(yàn);
  • 還需要提供接口給客戶端保存用戶信息(頭像、名稱等),或者根據(jù)openid去和微信換取用戶信息;
  • 中間的過程的調(diào)試還需要花費(fèi)大量的時(shí)間

利用bmob的小程序sdk的實(shí)現(xiàn)一鍵登錄
以上后端開發(fā)工作全省了??!

    wx.login({
success: function (res) {
var user = new Bmob.User();//實(shí)例化
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);
// 這個(gè) id 是要修改條目的 id,你在生成這個(gè)存儲(chǔ)并成功時(shí)可以獲取到,請(qǐng)看前面的文檔
query.get(user.id, {
success: function (result) {
// 自動(dòng)綁定之前的賬號(hào)
result.set('nickName', nickName);
result.set("userPic", avatarUrl);
result.set("openid", openid);
result.save();
}
});
}
});
//*************保存用戶其他信息,比如昵稱頭像之類的end*****************
}
}, function (err) {
console.log(err, 'errr');
});
}
});
}


user用戶對(duì)象中的loginWithWeapp方法使用當(dāng)前使用小程序的微信用戶身份注冊(cè)或登錄,成功后用戶的 session 會(huì)在設(shè)備上持久化保存,之后可以使用 Bmob.User.current() 獲取當(dāng)前登錄用戶

如果該用戶是第一次使用此應(yīng)用,調(diào)用登錄 API 會(huì)創(chuàng)建一個(gè)新的用戶,你可以在 控制臺(tái) >應(yīng)用> 數(shù)據(jù) 中的 _User表中看到該用戶的信息,如果該用戶曾經(jīng)使用該方式登錄過此應(yīng)用,再次調(diào)用登錄 API 會(huì)返回同一個(gè)用戶。

登錄后獲取到一個(gè)用戶數(shù)據(jù)對(duì)象,包括用戶唯一標(biāo)識(shí)objectId、openid、nickName、avatarUrl、authData,authData包括sessiontoken登錄校驗(yàn),小程序sdk封裝了請(qǐng)求帶上了緩存authData的sessiontoken,所以session_token這部分 不需要bmob的開發(fā)者考慮;


當(dāng)前用戶

如果用戶每次打開App的時(shí)候都要求登錄無(wú)疑是令人感到厭煩的,你可以通過緩存當(dāng)前的Bmob.User對(duì)象來(lái)避免這個(gè)問題。

無(wú)論你使用任何注冊(cè)或者登錄方法,用戶都會(huì)在localStorage中儲(chǔ)存,你可以把緩存作為一個(gè)session對(duì)待,并且自動(dòng)假設(shè)用戶已經(jīng)登錄了。

你可以操作Bmob.User.current()來(lái)獲取當(dāng)前用戶的信息

var currentUser = Bmob.User.current();

用戶安全

Bmob.User類默認(rèn)就是受保護(hù)的,在Bmob.User中保存的數(shù)據(jù)只能被那個(gè)用戶所修改。默認(rèn)地,數(shù)據(jù)仍然可以被任意客戶端所讀取。這樣就是說(shuō),有些Bmob.User對(duì)象被認(rèn)證后是可以修改的,其他的仍然是只讀的。

特別的,你不能調(diào)用save或者delete方法除非Bmob.User經(jīng)過了認(rèn)證,就比如調(diào)用過了logIn或者signUp方法,這樣保證只有用戶能改動(dòng)他們自身的數(shù)據(jù)。

相關(guān)案例查看更多