小程序登陸

非常簡單 (大飛附體)

  • 首先貼出官方流程圖


    微信小程序登錄.png

小程序獲取openId官方API

說明:
1,小程序調(diào)用wx.login() 獲取 臨時登錄憑證code 日川,并回傳到開發(fā)者服務(wù)器壮吩。

2,開發(fā)者服務(wù)器以code換取 用戶唯一標(biāo)識openid 和 會話密鑰session_key。

之后開發(fā)者服務(wù)器可以根據(jù)用戶標(biāo)識來生成自定義登錄態(tài),用于后續(xù)業(yè)務(wù)邏輯中前后端交互時識別用戶身份。

wx.login({
    success:function(res){
        wx.request({

            url: 'http://localhost/miniAppLogin',

            method: 'POST',
            
            header: header,
            
            data: { 'code': res.code},
            
            success: function (res) {
            
                console.log('登陸成功')

            }
        })
    }
}

這樣就獲取到了code并且發(fā)了一個/miniAppLogin的請求去我們的服務(wù)器
在服務(wù)器中拿code去獲取openId,這里發(fā)Https請求 , 可以網(wǎng)上下載工具類 : Https請求工具類

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

請求結(jié)果轉(zhuǎn)換為json對象,可以用fastJson里面的JSON.parseObject()方法
接著json.get("openId")就可以拿到用戶的openId做下一步操作了

如果你不僅要openId,還想要獲取用戶的頭像 昵稱 unionId等其他資料信息的話 , 就需要用到wx.getUserInfo接口了

  • 前端代碼這里得修改一下,差不多是這個樣子
wx.login({

success:function(res){

    wx.getUserInfo({
    
    success:function(data){
    
        wx.request({
        
            url: 'http://localhost/miniAppLogin',
            
            method: 'POST',
            
            header: header,
            
            data: { 'encryptedData': data.encryptedData, 'iv': data.iv, 'code': res.code },
            
            success: function (res) {
            
            console.log(res)
            
            var prepay_id = res.data.data.prepay_id;
            
            that.sign(prepay_id);
            
            }
        
        })
    
    }
    
    })
    
}

})

語法可能有點不太對,前端大佬見諒

  • 接著后臺就拿到了你發(fā)來的code,encryptedData和iv , 明確一下,我們的目的是取到encryptedData中的加密數(shù)據(jù)
  • 首先第一步還是跟前面一樣,通過code獲取到openId和session_key, 但是這塊我們只需要session_key,直接用AESUtil去解密,網(wǎng)上有工具AES工具類
    為了表示認(rèn)真程度,還是貼一句代碼吧
AESUtil.decrypt(encryptedData, session_key, iv, "UTF-8");
  • 同樣把結(jié)果轉(zhuǎn)成JSON對象
    之后就可以從對象里取你想要的值啦
    比如
String unionId = resultJson.getString("unionId");
String username = resultJson.getString("nickName")

OK,需要注意的一點是,小程序沒有web中session的概念, 每次請求都會生成新的session,如果你非要用session存取數(shù)據(jù)的話,那就得記錄對應(yīng)的sessionId,所以前后端連接需要自定義token(token只是一個概念,新手不用太糾結(jié)這個單詞)

在這里個人認(rèn)為最簡單的辦法就是用redis存一個token返回給前端,前端保存在緩存里,然后每次請求時放進(jìn)請求頭 , 后臺加一個攔截器,檢查一下請求頭里的token,如果在redis里有記錄 就放行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市砾赔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弥咪,老刑警劉巖过蹂,帶你破解...
    沈念sama閱讀 211,496評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異聚至,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)本橙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評論 3 385
  • 文/潘曉璐 我一進(jìn)店門扳躬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人甚亭,你說我怎么就攤上這事贷币。” “怎么了亏狰?”我有些...
    開封第一講書人閱讀 157,091評論 0 348
  • 文/不壞的土叔 我叫張陵役纹,是天一觀的道長。 經(jīng)常有香客問我暇唾,道長促脉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,458評論 1 283
  • 正文 為了忘掉前任策州,我火速辦了婚禮瘸味,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘够挂。我一直安慰自己旁仿,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,542評論 6 385
  • 文/花漫 我一把揭開白布孽糖。 她就那樣靜靜地躺著枯冈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪办悟。 梳的紋絲不亂的頭發(fā)上尘奏,一...
    開封第一講書人閱讀 49,802評論 1 290
  • 那天,我揣著相機(jī)與錄音誉尖,去河邊找鬼罪既。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的琢感。 我是一名探鬼主播丢间,決...
    沈念sama閱讀 38,945評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驹针!你這毒婦竟也來了烘挫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,709評論 0 266
  • 序言:老撾萬榮一對情侶失蹤柬甥,失蹤者是張志新(化名)和其女友劉穎饮六,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苛蒲,經(jīng)...
    沈念sama閱讀 44,158評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡卤橄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,502評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了臂外。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窟扑。...
    茶點故事閱讀 38,637評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖漏健,靈堂內(nèi)的尸體忽然破棺而出嚎货,到底是詐尸還是另有隱情,我是刑警寧澤蔫浆,帶...
    沈念sama閱讀 34,300評論 4 329
  • 正文 年R本政府宣布殖属,位于F島的核電站,受9級特大地震影響瓦盛,放射性物質(zhì)發(fā)生泄漏洗显。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,911評論 3 313
  • 文/蒙蒙 一谭溉、第九天 我趴在偏房一處隱蔽的房頂上張望墙懂。 院中可真熱鬧,春花似錦扮念、人聲如沸损搬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巧勤。三九已至,卻和暖如春弄匕,著一層夾襖步出監(jiān)牢的瞬間颅悉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評論 1 266
  • 我被黑心中介騙來泰國打工迁匠, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留剩瓶,地道東北人驹溃。 一個月前我還...
    沈念sama閱讀 46,344評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像延曙,于是被迫代替她去往敵國和親豌鹤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,500評論 2 348

推薦閱讀更多精彩內(nèi)容