成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

微信小程序授權登錄流程時序的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下微信小程序授權登錄流程時序的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

河東ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

最近在做一個微信小程序開發(fā)的項目。場景布置:同一微信開放平臺下?lián)碛邢嗤黧w的APP和微信小程序來完成同樣的業(yè)務,用戶進入app或者微信小程序時必須獲取用戶的unionid來確認當前的用戶身份,完成登錄。小程序“獲取用戶信息”api(getUserInfo)的調用方式和之前相比有了較大更新,優(yōu)雅的實現用戶授權和登錄非常重要,以下是我在微信小程序授權登錄相關流程在開發(fā)時候的實現思路和總結,分享如下。

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

微信小程序授權登錄流程時序的示例分析

說明:

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

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

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

什么是openid?

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

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

你可以簡單的理解為

openid = hash(uid + app_id)

什么是unionid?

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

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

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

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

用戶在開放平臺的標識符

你可以簡單的理解為:

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

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

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

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

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

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

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

微信小程序授權登錄流程時序的示例分析

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

三、登錄很好實踐

  1. 調用 wx.login 獲取 code。

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

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

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

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

微信小程序授權登錄流程時序的示例分析

封裝ajax()

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

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

以上是“微信小程序授權登錄流程時序的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

名稱欄目:微信小程序授權登錄流程時序的示例分析-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article36/csoesg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿網站建設、移動網站建設網頁設計公司、Google、網站制作動態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網站建設
全椒县| 元阳县| 堆龙德庆县| 久治县| 武安市| 蒙城县| 文安县| 时尚| 威宁| 沈丘县| 漳浦县| 普兰县| 滨州市| 寿阳县| 醴陵市| 闻喜县| 卢氏县| 江都市| 枝江市| 杂多县| 凌海市| 改则县| 彰化市| 浑源县| 塔河县| 文登市| 平舆县| 湖北省| 富民县| 大关县| 万宁市| 治县。| 浦东新区| 乐业县| 桂平市| 申扎县| 汉源县| 湛江市| 通城县| 靖宇县| 林周县|