簡單介紹:實作小程式授權(quán)登入功能
Nov 07, 2022 pm 05:32 PM這篇文章為大家?guī)砹岁P(guān)於微信小程式的相關(guān)知識,其中主要介紹了怎麼實現(xiàn)小程式授權(quán)登入功能的相關(guān)內(nèi)容,下面一起來看一下,希望對大家有幫助。
【相關(guān)學(xué)習(xí)推薦:小程式學(xué)習(xí)教學(xué)】
在我們平常工作、學(xué)習(xí)、在生活中,微信小程式已成為我們密不可分的一部分,我們仔細(xì)留意下,每當(dāng)我們使用一個新的小程式時,總會遇到如下頁:
這便是微信小程序授權(quán)登入功能了,授權(quán)登入後,我們就可以正常使用小程序,而小程序也會取得到我們的用戶權(quán)益,手機號碼等個人資訊
授權(quán)登入功能剖析
微信小程式的授權(quán)登入具體步驟如下所示
具體實作主要有以下三個步驟:
呼叫wx.login() 微信api取得臨時登入憑證code,並回傳到開發(fā)者伺服器
呼叫auth.code2Session?微信api接口,取得使用者唯一識別OpenID、 使用者在微信開放平臺帳號下的唯一識別UnionID和會話金鑰session_key
##透過步驟2取得的參數(shù)進行解密操作,取得使用者手機號,頭像等特性,並將所需的資料儲存到快取中
步驟實作程式碼如下:
一、取得臨時登入憑證code
由於微信官方修改了getUserInfo接口,現(xiàn)在無法實作一進入微信小程式就會自動彈出授權(quán)窗口,所以我們只能透過button按鈕讓使用者手動觸發(fā)
我們先寫一個簡單的彈框,用isShow變數(shù)控制,isShow取決於步驟3中的快取訊息,當(dāng)所有步驟都走通,會正確快取使用者訊息,此時彈框隱藏,否則彈框都會為顯示狀態(tài)
??<view> ????????<view> ??????????<text>需要先授權(quán)獲取個人信息</text> ??????????<button>微信賬號快速授權(quán)</button> ????????</view> ??</view>
點擊按鈕時,呼叫g(shù)etUserInfo方法,isShow設(shè)定為false,同時使用wx.login取得到登入憑證code
getUserInfo:e=>{??????this.setData({????????isShow:false ??????}) ??????wx.login({????????success:?function?(res)?{???????????????let?code?=?res.code?//?登錄憑證code ?????????} ??????}) ?????? ??}
#二、根據(jù)登入憑證code,取得使用者登入資訊
拿到登入憑證code後,呼叫auth.code2Session?微信api介面(這裡為服務(wù)端操作,後端大佬搞定,我們直接呼叫他給的介面就好)
?????????wx.request({????????????????url:?獲取用戶信息的auth.code2Session微信api接口,????????????????method:?'POST',????????????????data:{??????????????????code:code//登錄憑證code ????????????????},????????????????header:?{??????????????????'content-type':?'application/json;charset=UTF-8' ????????????????},???????????????? ????????????????success:?function?(res)?{??????????????????var?userphone=?res.data.data??????????????????//解密手機號 ??????????????????var?msg?=?e.detail.errMsg;??????????????????var?sessionKey?=?userphone.session_key;//會話密鑰 ??????????????????var?encryptedData=e.detail.encryptedData;?//簽名 ??????????????????var?unionid?=?userphone.unionid//唯一標(biāo)識 ??????????????????var?iv=?e.detail.iv;??????????????????//授權(quán)成功 ??????????????????if?(msg?==?'getPhoneNumber:ok')?{ ????????????????????wx.checkSession({??????????????????????success:function(){????????????????????????//進行請求服務(wù)端解密手機號 ????????????????????????this.deciyption(sessionKey,encryptedData,iv,unionid); ??????????????????????} ????????????????????}) ??????????????????} ????????????????} ??????????????}) ????????} ??????})
此時大多數(shù)使用者資訊我們已經(jīng)取得了,但用戶手機號,用戶頭像等資訊仍處於加密狀態(tài),我們需要去解密取得這些參數(shù)
三、根據(jù)用戶信息,解密取得用戶手機號
deciyption(sessionKey,encryptedData,iv,unionid){????var?that?=?this; ????wx.request({??????url:?解密接口,??????method:?'POST',??????data:?{????????sessionKey:?sessionKey,????????encryptedData:encryptedData,????????iv:?iv ??????},??????header:?{????????'content-type':?'application/json;charset=UTF-8' ??????},??????success:?function(res)?{ ????????let?data?=?res.data????????if?(data.resultCode?==?'success')?{ ????????????wx.setStorageSync('userTel',?data.data.phoneNumber);//存儲解密后的用戶手機號 ????????}else{ ????????????wx.showToast({????????????????title:?'獲取信息失敗請重新授權(quán)',????????????????icon:?'none' ????????????}) ????????????that.setData({????????????????isShow:true ????????????}) ????????}???? ??????}, ??????fail:function(res)?{ ????????wx.showToast({????????????title:?'獲取失敗請重新授權(quán)',????????????icon:?'none' ????????}) ????????that.setData({??????????isShow:true ????????}) ??????} ????}) ??},
此時授權(quán)登入功能已完成
【相關(guān)學(xué)習(xí)推薦:小程式學(xué)習(xí)教學(xué)】
以上是簡單介紹:實作小程式授權(quán)登入功能的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

閒魚官方微信小程式悄悄上線,在小程式中可以發(fā)布閒置與買家/賣家私訊交流、查看個人資料及訂單、搜尋物品等,有用好奇閒魚微信小程式叫什麼,現(xiàn)在快來看一下。閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發(fā)閒置、訊息、我的5項功能;3、想要使用的話必要要開通微信支付才可以購買;

實現(xiàn)微信小程式中的圖片濾鏡效果隨著社群媒體應(yīng)用程式的流行,人們越來越喜歡在照片中應(yīng)用濾鏡效果,以增強照片的藝術(shù)效果和吸引力。在微信小程式中也可以實現(xiàn)圖片濾鏡效果,為使用者提供更多有趣和創(chuàng)意的照片編輯功能。本文將介紹如何在微信小程式中實現(xiàn)圖片濾鏡效果,並提供具體的程式碼範(fàn)例。首先,我們需要在微信小程式中使用canvas元件來載入和編輯圖片。 canvas元件可以在頁面

實現(xiàn)微信小程式中的下拉式選單效果,需要具體程式碼範(fàn)例隨著行動互聯(lián)網(wǎng)的普及,微信小程式成為了網(wǎng)路開發(fā)的重要一環(huán),越來越多的人開始關(guān)注和使用微信小程式。微信小程式的開發(fā)相比傳統(tǒng)的APP開發(fā)更加簡單快捷,但也需要掌握一定的開發(fā)技巧。在微信小程式的開發(fā)中,下拉式選單是一個常見的UI元件,實現(xiàn)了更好的使用者操作體驗。本文將詳細(xì)介紹如何在微信小程式中實現(xiàn)下拉式選單效果,並提供具

閒魚官方微信小程式已經(jīng)悄悄上線,它為用戶提供了一個便捷的平臺,讓你可以輕鬆地發(fā)布和交易閒置物品。在小程式中,你可以與買家或賣家進行私訊交流,查看個人資料和訂單,以及搜尋你想要的物品。那麼閒魚在微信小程式中究竟叫什麼呢,這篇教學(xué)攻略將為您詳細(xì)介紹,想要了解的用戶們快來跟著本文繼續(xù)閱讀吧!閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發(fā)閒置、訊息、我的5項功能;3、

微信小程式實現(xiàn)圖片上傳功能隨著行動網(wǎng)路的發(fā)展,微信小程式已經(jīng)成為了人們生活中不可或缺的一部分。微信小程式不僅提供了豐富的應(yīng)用場景,還支援開發(fā)者自訂功能,其中包括圖片上傳功能。本文將介紹如何在微信小程式中實作圖片上傳功能,並提供具體的程式碼範(fàn)例。一、前期準(zhǔn)備工作在開始編寫程式碼之前,我們需要先下載並安裝微信開發(fā)者工具,並註冊成為微信開發(fā)者。同時,也需要了解微信

使用微信小程式實現(xiàn)輪播圖切換效果微信小程式是一種輕量級的應(yīng)用程序,具有簡單、高效的開發(fā)和使用特點。在微信小程式中,實作輪播圖切換效果是常見的需求。本文將介紹如何使用微信小程式實現(xiàn)輪播圖切換效果,並給出具體的程式碼範(fàn)例。首先,在微信小程式的頁面檔案中,新增一個輪播圖元件。例如,可以使用<swiper>標(biāo)籤來實現(xiàn)輪播圖的切換效果。在該組件中,可以透過b

實現(xiàn)微信小程式中的圖片旋轉(zhuǎn)效果,需要具體程式碼範(fàn)例微信小程式是一種輕量級的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗。在小程式中,開發(fā)者可以利用各種元件和API來實現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見的動畫效果,可以為小程式增添趣味性和視覺效果。在微信小程式中實作圖片旋轉(zhuǎn)效果,需要使用小程式提供的動畫API。以下是一個具體的程式碼範(fàn)例,展示如何在小程

實作微信小程式中的滑動刪除功能,需要具體程式碼範(fàn)例隨著微信小程式的流行,開發(fā)者在開發(fā)過程中經(jīng)常會遇到一些常見功能的實作問題。其中,滑動刪除功能是常見、常用的功能需求。本文將為大家詳細(xì)介紹如何在微信小程式中實現(xiàn)滑動刪除功能,並給出具體的程式碼範(fàn)例。一、需求分析在微信小程式中,滑動刪除功能的實作涉及以下要點:列表展示:要顯示可滑動刪除的列表,每個列表項目需要包
