亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序中授權登錄怎么實現

發布時間:2022-04-19 15:32:39 來源:億速云 閱讀:503 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“微信小程序中授權登錄怎么實現”,內容詳細,步驟清晰,細節處理妥當,希望這篇“微信小程序中授權登錄怎么實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

一、微信小程序登錄流程時序

微信小程序中授權登錄怎么實現

說明:

  1. 小程序調用wx.login() 獲取 臨時登錄憑證code ,并回傳到開發者服務器

  2. 開發者服務器以code換取 用戶唯一標識openid 和 會話密鑰session_key。

  3. 臨時登錄憑證code只能使用一次

什么是openid?

在關注者與公眾號產生消息交互后,公眾號可獲得關注者的OpenID(加密后的微信號,每個用戶對每個公眾號的OpenID是唯一的。對于不同公眾號,同一用戶的openid不同)。——微信公眾平臺開發者文檔
  • 普通用戶的標識,對當前公眾號唯一

  • 不同的公眾號,同一個用戶,openid不同

你可以簡單的理解為

openid = hash(uid + app_id)

什么是unionid?

如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程序),可通過unionid來區分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號(包括小程序),用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。UnionID機制說明

如果開發者在多個移動應用、網站應用和公眾帳號之間有統一用戶賬號的需求,需要前往微信開放平臺(open.weixin.qq.com)綁定公眾號后,便可利用UnionID機制來滿足上述需求。

  • 一個微信開放平臺帳號下可以有多個移動應用,網站應用,公眾賬號和小程序

  • 只要是同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號(包括小程序),用戶的unionid是唯一的。

用戶在開放平臺的唯一標識符

你可以簡單的理解為:

unionid = hash(uid + 開放平臺id)

總結下
微信針對不同的用戶在不同的應用下都有唯一的一個openId, 但是要想確定用戶是不是同一個用戶,就需要靠unionid來區分。一般自己的后臺都會有自己的一個用戶表,每個用戶有不同的userid。也就是說同一個用戶在同一個微信開放平臺下的相同主體的應用對應著相同的userid,unionid以及不同的openid。所以在用戶登錄進來的時候,我們只能靠微信返回給我們的unionid去判斷是不是同一個用戶,在去關聯我們的用戶表,拿到對應的userid。

二、微信小程序如何獲取unionid?

綁定了開發者帳號的小程序,可以通過下面3種途徑獲取UnionID。

  1. 調用接口wx.getUserInfo,從解密數據中獲取UnionID。注意本接口需要用戶授權,請開發者妥善處理用戶拒絕授權后的情況。

  2. 如果開發者帳號下存在同主體的公眾號,并且該用戶已經關注了該公眾號。開發者可以直接通過wx.login獲取到該用戶UnionID,無須用戶再次授權。

  3. 如果開發者帳號下存在同主體的公眾號或移動應用,并且該用戶已經授權登錄過該公眾號或移動應用。開發者也可以直接通過wx.login獲取到該用戶UnionID,無須用戶再次授權。

微信小程序中授權登錄怎么實現

當用戶滿足條件2和3時,開發者可以直接通過wx.login獲取到該用戶的unionid, 否則必須調用接口wx.getUserInfo,額外需要注意的事就是妥善處理用戶拒絕授權的情況。

三、登錄最佳實踐

  1. 調用 wx.login 獲取 code。

  2. 使用 wx.getSetting 獲取用戶的授權情況

    • 如果用戶已經授權,直接調用 API wx.getUserInfo 獲取用戶最新的信息;

    • 用戶未授權,在界面中顯示一個按鈕提示用戶登入,當用戶點擊并授權后就獲取到用戶的最新信息。

  3. 將獲取到的用戶數據連同wx.login返回的code一同傳給后端

微信小程序中授權登錄怎么實現

封裝ajax()

在真實的業務場景中,我們希望,用戶進入小程序時,未登錄情況下可以正常瀏覽商品,對小程序有個基本的認知,不要直接彈出框要求用戶授權,否則會干擾用戶,導致新用戶的流失,當用戶需要使用一些高級功能和場景,這個時候再去要求用戶授權,這樣用戶授權的幾率會大大提高。
將登錄的邏輯封裝ajax
流程:
微信小程序中授權登錄怎么實現

封裝的意義
不再關注當前接口是否需要登錄,用戶是否已授權,所有請求直接調用ajax(),在必要的時候完成一切登錄以及授權流程。小程序入口頁面增加,業務拓展的時候,你只需要專注于業務實現。

讀到這里,這篇“微信小程序中授權登錄怎么實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

惠来县| 万盛区| 收藏| 马山县| 新闻| 台湾省| 龙里县| 双柏县| 香港| 德格县| 醴陵市| 庆元县| 德令哈市| 边坝县| 湖口县| 白银市| 乌兰察布市| 鹤山市| 阿瓦提县| 龙川县| 陆良县| 肥城市| 新疆| 开封市| 阳江市| 弥勒县| 林周县| 香格里拉县| 托里县| 昆明市| 五指山市| 昭苏县| 揭西县| 五河县| 海丰县| 湘潭县| 华安县| 西乌| 绿春县| 利辛县| 灯塔市|