1. 程式人生 > >微信小程式登入流程

微信小程式登入流程

1:session_key和openId是什麼?session_key
官方說明為:
session_key是微信伺服器生成的針對使用者資料進行加密簽名的金鑰
session_key的用途
(1)對wx.getUserInfo()介面得到“使用者資訊中的密文”進行解密。
(2)對它“稍作處理”,用作維護小程式的登入態。
“稍微處理”大體為:
(1)生成一個隨機數(官方把他叫做3rd_session)
(2)把這個隨機數當session的key,session_key + openid為value。
即:session[3rd_session]=session_key+openid
openIdopenId:使用者唯一標識

即:每個微信使用者在你的小程式的唯一的標識。
1.png 
2:如何獲得session_key和openId官方提供了HTTP介面:
https://api.weixin.qq.com/sns/js ... =authorization_code
獲取步驟:
(1)獲得appid,secret,js_code
(2)用appid,secret,js_code分別替換如上介面地址的APPID、SECRET、JSCODE,其他不變,組裝成完整的地址。
例如:
2.png 
3:在“瀏覽器開啟此地址”或者“在後臺模擬瀏覽器的GET執行此地址”就可返回如下的JSON資料(包含openid、sessionkey)
微信小程式獲得session_key和openId(加解密、簽名系列)

總結:從1,2,3步驟可知,只要獲得appid,secret,js_code就可得到session_key和openId
3.png 
4:appid和secret的獲得

appid為小程式ID
secret為小程式金鑰(AppSecret)
獲得方法:小程式後臺登入網址:https://mp.weixin.qq.com/
開啟小程式後臺網址、註冊、登入後,按如下圖所示就可找到你的AppID和AppSecret。
微信小程式獲得session_key和openId(加解密、簽名系列)
注意:目前小程式個人不能註冊,開放註冊範圍:企業、政府、媒體、其他組織;
當然用這個辦法,個人也能註冊了。
傳送門:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=495


5:js_code如何獲得呼叫wx.login()介面就可獲取登入憑證(js_code)
微信小程式獲得session_key和openId(加解密、簽名系列)
4.png 
6:總結整個session_key獲取的流程
(1)註冊微信小程式、登入後臺在設定中獲得appId和secret(金鑰)
(2)呼叫wx.login()介面獲取登入憑證js_code
(3)呼叫wx.request()介面把js_code傳送到伺服器後臺
(4)在伺服器後臺,已知appId、secret、js_code
然後呼叫如下官方提供的http介面,即可返回獲取openId、session_key
官方提供了http介面地址為:

原文連結:http://bbs.jointforce.com/topic/25367

相關推薦

程式--登入流程梳理

前言 微信小程式凡是需要記錄使用者資訊都需要登入,但是也有幾種不同的登入方式,但是在小程式部分的登入流程是一樣的。之前就朦朦朧朧地用之前專案的邏輯改改直接用了,這個新專案要用就又結合官方文件重新梳理了下,並記錄一下,好記性不如爛筆頭嘛,哈哈。 幾種登入流程設計 利用OpenId 建立新使用者 這種方式

程式登入流程

1:session_key和openId是什麼?session_key官方說明為:session_key是微信伺服器生成的針對使用者資料進行加密簽名的金鑰session_key的用途(1)對wx.getUserInfo()介面得到“使用者資訊中的密文”進行解密。(2)對它“

程式-登入流程

流程圖:1、首先,客戶端呼叫wx.login,回撥資料了包含jscode,用於獲取openid(使用者唯一標識)和sessionkey(會話金鑰)。2、拿到jscode後,將其傳送給服務端,服務端拿它與微信服務端做互動獲取openid和sessionkey。具體獲取方法如下:

程式登入、獲取使用者資訊以及檢查session_key是否過期大致操作流程[開發採用wepy框架]

基於微信小程式對於getUserInfo的調整,獲取使用者資訊改採用button實現,基於此實現的微信小程式一整套登入流程。 在整個小程式的實現中需要呼叫wx.checkSession()介面,通過該

程式登入授權

wxml檔案內容 <view class="container"> <view class="userinfo"> <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInf

程式登入-openid和unionid

本文轉自https://www.cnblogs.com/yaoyuqian/p/8203792.html   我們一般都是先獲取到微信的 unionid,然後再通過 unionid 去登入自己的網站,就可以關聯到使用者在自己網站上的 user_id,但是在小程式登入中,有時候可以獲取到

程式支付流程

使用者在微信端使用小程式,發起微信支付;(使用者) 小程式呼叫微信api(wx.login()),獲取到使用者登入憑證code(五分鐘內有效),小程式將code、需要支付的商品資訊等一起傳送給自己的商戶系統後臺;(小程式端) a、商戶系統後臺獲取到小程式傳遞過來

解決程式登入與釋出的一些問題

解決微信小程式的問題 圖片在電腦上顯示但在手機上卻無法顯示的問題 要使用的是本地圖片,不想把圖片上傳到網路再通過https的方式解決,解決方法如下: 1.image src中的圖片地址對英文字母大小寫敏感,必須確認大小寫對得上; 2.圖片大小問題。本地圖片要小於10KB才能順利在真機上顯示。 為什麼

基於Shiro,JWT實現程式登入完整例子

小程式官方流程圖如下,官方地址 : developers.weixin.qq.com/miniprogram… : 如果此圖理解不清楚的地方,也可參看我的部落格 : www.cnblogs.com/ealenxie/p/… 本文是對接微信小程式自定義登入的一個完整例子實現 ,技術棧為 :

程式支付流程,非同步回撥及訊息模板呼叫(php原始碼)

首先還是老樣子把流程圖給大家發一下 商戶系統和微信支付系統主要互動: 1、小程式內呼叫登入介面,獲取到使用者的openid,api參見公共api【小程式登入API】 2、商戶server呼叫支付統一下單,api參見公共api【統一下單API】 3、商戶server呼叫再次簽

程式登入Java後臺介面(詳解,附示例程式碼)

首先看一下官方文件 我們先對官方給的時序圖進行簡單的分析 1.當小程式呼叫wx.login()時,會獲得一個code(臨時登入憑證),然後我們需要用wx.request()將code傳送到自己的伺服器. 2.在伺服器的介面中,呼叫登入憑證校檢介面,將appid(

程式登入(Java伺服器)

1, 首先前端會呼叫授權介面這個不用管, 呼叫授權介面以後, 會拿到微信使用者的頭像, 名稱, 前端的朋友請往這邊走, 微信小程式登入流程, 你可能走錯片場了,  我們討論的是後臺的登入 2, 我只需要知道, 當前端呼叫微信的授權介面以後, 有一個很重要的引數, 那就是co

程式開發流程以及注意事項

三、獲取appid:“設定”-“開發設定”  四、開啟“微信開發者工具”,新建專案 五、進入到專案首頁 六、程式碼構成 自動生成的目錄結構如下: ├── pages | ├── index | | ├── inde

程式實現流程進度的圖樣式功能

轉載地址:https://blog.csdn.net/rolan1993/article/details/79085530 最近正在做微信小程式,需要實現一個流程進度的圖樣式如下面

程式 登入 獲取授權登入

很簡潔的版本了吧,記憶力奇差,先存起來忘記了自己再點開看 <template> <view class="container"> // 這裡面的東西不要漏 <button type="primary" open-type="g

程式 登入併成功跳轉

//app.js App({ onLaunch: function () { // 展示本地儲存能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorage

程式登入&授權&獲取使用者資訊(thinkphp5後臺)

後臺用到的公共方法(寫入common.php檔案的) 1.傳送HTTP請求方法,用於獲取code。 /** * 傳送HTTP請求方法 * @param string $url 請求URL * @param array $params 請求引數 * @p

踩坑: 程式支付流程(統一下單, 支付回撥)

公司最近開發小程式,涉及到支付功能. 現在支付功能已經做完,特此記錄一下自己踩坑經驗: 眾所周知,微信小程式目前只能使用微信支付, 而且微信小程式支付相對於app支付,h5支付都要簡單一些,但是該支付文件對java這語言是非常不友好的,居然沒有demo, 網上雖

Java實現程式登入 獲取使用者資訊

小程式比公眾號授權登入 更加簡單 其實沒什麼是後臺需要處理的 前端傳過來一個code 我們儲存以下通過code獲取過來的openid就可以 其他的使用者資訊 前端小程式那邊可以獲取。首先既然是小程式登入 你要有一個你自己的小程式還是要拿到你自己的appid和appSecret

程式登入註冊demo+java伺服器(一)

一.開發平臺和前期準備1.前端工具:微信web開發者工具打web開發者工具,新建小程式專案,目錄和名稱自己隨意填,AppID點選體驗:小程式小程式開啟後,點選右上方的詳情,專案設定,勾選不校驗xxxxx2.後臺開發工具:eclipseeclipse要求是java ee版的,並