亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

詳解微信小程序開發用戶授權登陸

2020-03-21 15:59:29
字體:
來源:轉載
供稿:網友

本篇將幫助讀者實現基于 微信開發者工具 & C#環境 下的用戶在小程序上的授權登陸。

準備:

微信開發者工具下載地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

微信小程序開發文檔:https://developers.weixin.qq.com/miniprogram/dev/index.html

開發:

在開發之初,我們需要先明確微信方已經制定好的授權登陸流程,參看 官方API - 登陸接口。

你會看到微信方為開發者制定好的登陸授權流程:

微信小程序,小程序開發,用戶授權登陸

如圖,即為一個順向的用戶登陸授權的流程。

為什么說它是一個順向的流程呢?因為在真正的小程序開發中,我們并不確定用戶何時需要起調如上的登陸流程(如:用戶在某些特定場景下的憑證丟失,但Ta并沒有退出小程序而是在小程序內部做跳轉等相關操作,即有可能導致一些預期之外的異常),所以,我們需要在這個順向的流程之外,加一層檢測機制,來解決這些異常場景,而官方API中,wx.checkSession 剛好可以一定程度上解決這個問題。

那么,我們的認證流程其實應該是:

小程序 wx.checkSession 校驗登陸態為失效

success :接口調用成功的回調函數,session_key未過期,流程結束;    

fail :接口調用失敗的回調函數,session_key已過期

小程序端 wx.login 獲取code 并 wx.request 提交code給己方服務器

己方服務器 提交Appid + appSecret + code 到微信方服務器 獲取 session_key & openid

己方服務器 根據 session_key & openid  生成 3rd_session(微信方提出的基于安全性的考慮,建議開發者不要將openid等關鍵性信息進行數據傳輸) 并返回 3rd_session 到小程序端

小程序端 wx.setStorage 存儲 3rd_session ( 在后續用戶操作需要憑證時 附帶該參數 )

小程序端 wx.getUserInfo 獲取用戶信息 + wx.getStorage 獲取 3rd_session 數據后,一并 wx.request 提交給己方服務器

己方服務器 SQL用戶數據信息更新,流程結束;

思路整理完畢,接下來實現流程

小程序端:

在小程序中,新建一個通用的JS做基礎支持

 微信小程序,小程序開發,用戶授權登陸

并在一些需要引用的頁面進行引用

var common = require("../Common/Common.js")

接著,在Common.js 中實現邏輯

//用戶登陸function userLogin() { wx.checkSession({  success: function () {   //存在登陸態  },  fail: function () {   //不存在登陸態   onLogin()  } })} function onLogin() { wx.login({  success: function (res) {   if (res.code) {    //發起網絡請求    wx.request({     url: 'Our Server ApiUrl',     data: {      code: res.code     },     success: function (res) {      const self = this      if (邏輯成功) {       //獲取到用戶憑證 存儲 3rd_session        var json = JSON.parse(res.data.Data)       wx.setStorage({        key: "third_Session",         data: json.third_Session       })       getUserInfo()      }      else {       }     },     fail: function (res) {      }    })   }  },  fail: function (res) {   } }) } function getUserInfo() { wx.getUserInfo({  success: function (res) {   var userInfo = res.userInfo   userInfoSetInSQL(userInfo)  },  fail: function () {   userAccess()  } })} function userInfoSetInSQL(userInfo) { wx.getStorage({  key: 'third_Session',  success: function (res) {   wx.request({    url: 'Our Server ApiUrl',    data: {     third_Session: res.data,     nickName: userInfo.nickName,     avatarUrl: userInfo.avatarUrl,     gender: userInfo.gender,     province: userInfo.province,     city: userInfo.city,     country: userInfo.country    },    success: function (res) {     if (邏輯成功) {      //SQL更新用戶數據成功     }     else {      //SQL更新用戶數據失敗     }    }   })  } })}

至此,小程序端的流程基本實現完畢,接著實現己方服務API

Login 接口邏輯范例

if (dicRequestData.ContainsKey("CODE"))    {      string apiUrl = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", ProUtil.SmartAppID, ProUtil.SmartSecret, dicRequestData["CODE"]);          HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(apiUrl);      myRequest.Method = "GET";      HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();      StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);      string content = reader.ReadToEnd();      myResponse.Close();      reader.Close();      reader.Dispose();       //解析      userModel ReMsg = JSONUtil.JsonDeserialize<userModel>(content); //解析      if ((!string.IsNullOrWhiteSpace(ReMsg.openid)) && (!string.IsNullOrWhiteSpace(ReMsg.session_key)))      {        // 成功 自定義生成3rd_session與openid&session_key綁定并返回3rd_session       }      else      {        // 錯誤 未獲取到用戶openid 或 session      }    }    else    {      // 錯誤 未獲取到用戶憑證code    }

UserInfoUpdate 接口在此不加贅述,用戶根據自身情況對數據進行操作即可,微信方調用成功時返回的相關參數信息如下

微信小程序,小程序開發,用戶授權登陸

至此,完成了小程序基本的授權登陸及用戶信息的獲取。

認真看完以上所有后

有啥不懂的 歡迎留言提問~

注:以上內容有所刪減,僅保留通用內容。在具體項目中必定存在部分邏輯需要調整,引鑒的同學請注意

以上所述是小編給大家介紹的微信小程序開發用戶授權登陸詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲午夜国产成人av电影男同| 国产精品678| 91麻豆桃色免费看| 97av在线播放| 成人激情视频免费在线| 91久久久久久久久| 亚洲欧美日韩区| 亚洲精品动漫100p| 久久久久久久久久亚洲| 国产精品福利小视频| 91日本在线视频| 精品国产依人香蕉在线精品| 久久亚洲国产精品成人av秋霞| 欧美日韩在线看| 8090成年在线看片午夜| 在线视频欧美日韩精品| 亚洲国产精品美女| 17婷婷久久www| 精品国偷自产在线视频99| 97人人模人人爽人人喊中文字| 8050国产精品久久久久久| 人人爽久久涩噜噜噜网站| 91精品免费看| 亚洲国产婷婷香蕉久久久久久| 国产精品久久久久久久久久99| 日韩人体视频一二区| 亚洲深夜福利网站| 日韩视频在线免费观看| 久久精品成人欧美大片| 国产精品久久久久久久久久| 欧美另类交人妖| 欧美成人精品三级在线观看| 国产精品高清在线观看| 欧美日韩国产成人在线| 黑人巨大精品欧美一区免费视频| 91精品视频免费看| 综合久久五月天| 有码中文亚洲精品| 在线观看久久久久久| 九九视频直播综合网| 在线看国产精品| 91国自产精品中文字幕亚洲| 亚洲人av在线影院| wwwwwwww亚洲| 欧美夜福利tv在线| 97视频在线观看视频免费视频| 亚洲图片欧洲图片av| 欧美亚洲国产视频| 亚洲精品国产欧美| 国产精品第七十二页| 91最新在线免费观看| 亚洲成人精品av| 丝袜亚洲欧美日韩综合| 亚洲国产一区二区三区在线观看| 欧美激情啊啊啊| 国产精品男人的天堂| 在线电影av不卡网址| 26uuu日韩精品一区二区| 欧美激情精品久久久久久蜜臀| 青青久久aⅴ北条麻妃| 成人黄在线观看| 97婷婷涩涩精品一区| 日本一区二区不卡| 久久久久久久久中文字幕| 在线看福利67194| 高跟丝袜欧美一区| 北条麻妃99精品青青久久| 亚洲天堂成人在线| 欧美日韩在线另类| 国产成人亚洲综合| 日韩经典一区二区三区| 成人中文字幕在线观看| 亚洲第一中文字幕| 欧美国产日产韩国视频| 97超级碰在线看视频免费在线看| 欧美精品性视频| 欧美成年人在线观看| 91亚洲精品在线观看| 91精品久久久久久久久不口人| 日韩精品极品在线观看播放免费视频| 在线电影av不卡网址| 欧美性生交xxxxxdddd| 日韩有码在线视频| 日韩精品有码在线观看| 亚洲精品网站在线播放gif| 一二美女精品欧洲| 亚洲精品电影久久久| 欧美国产第二页| 亚洲女人被黑人巨大进入al| 琪琪亚洲精品午夜在线| 一本色道久久综合狠狠躁篇的优点| 国产91精品青草社区| 正在播放国产一区| 国产91精品久久久久久| 91久久嫩草影院一区二区| 欧美香蕉大胸在线视频观看| 欧美精品在线看| 精品久久久久久久久国产字幕| 久久免费成人精品视频| 精品国产精品自拍| 91在线播放国产| 国内精品久久影院| 91精品久久久久久久久久| 成人免费淫片视频软件| 亚洲国产欧美一区二区三区久久| 色99之美女主播在线视频| 国语自产精品视频在免费| 人九九综合九九宗合| 精品偷拍各种wc美女嘘嘘| 久久久亚洲欧洲日产国码aⅴ| 亚洲第一页中文字幕| 久久久久久久激情视频| 亚洲理论在线a中文字幕| 热草久综合在线| 中文字幕成人在线| 亚洲精品乱码久久久久久按摩观| 日韩中文在线观看| 欧美在线视频导航| 亚洲区bt下载| 国产精品女主播| 两个人的视频www国产精品| 91久久久久久国产精品| 日韩精品视频三区| 97成人超碰免| 亚洲成色777777在线观看影院| 日韩精品福利在线| 福利一区福利二区微拍刺激| 亚洲第一视频网站| 91极品视频在线| 欧美亚洲激情视频| 欧美成人中文字幕| 国产成人精品在线| 亚洲精品国产免费| 久久中文字幕国产| 国产精品一区二区三区久久久| 国产精品一二三视频| 欧美乱妇40p| 亚洲精品电影久久久| 久久精品视频中文字幕| 欧美影院在线播放| 亚洲激情 国产| 日韩av一区二区在线观看| 欧美日韩精品二区| 欧美日韩精品国产| 91人成网站www| 91精品国产综合久久香蕉| 日韩成人av网| 亚洲天堂成人在线| 日韩中文字幕久久| 国产精品久久久久久久久久新婚| 国产成人精品在线播放| 欧亚精品中文字幕| 亚洲男人av电影| 久久深夜福利免费观看| 一区二区三区日韩在线| 欧美午夜视频一区二区| 海角国产乱辈乱精品视频| 日韩国产欧美精品在线| 亚洲一区二区精品| 91免费综合在线| 亚洲福利在线观看| 日韩中文字幕欧美| 亚洲成人精品av| 亚洲精品国产综合久久|