注:1. 自定義登入態:因為小程式沒有cookie,所以在此處自定義登入態(偽cookie)來識別使用者。
cookie是為了更好的在伺服器儲存使用者資訊,保證使用者在小程式與伺服器傳輸資料的安全性。
實現步驟:
1. wx.login獲取使用者臨時登入憑證code。
小程式開發文件:
呼叫介面獲取登入憑證(code)。通過憑證進而換取使用者登入態資訊,包括使用者的唯一標識(openid)及本次登入的會話金鑰(session_key)等。使用者資料的加解密通訊需要依賴會話金鑰完成。
示例**:
wx.login(2. wx.getuserinfo獲取加密過的資料encrypteddata和解密引數iv。})} else
}})
獲取使用者資訊。【呼叫前需要使用者授權】
3. 把步驟
一、二中的code、encrypteddata、iv傳到開發者自己服務端
secret:小程式金鑰
js_code:第一步獲取的臨時登入憑證code
grant_type:'authorization_code'
介面會返回 openid, session_key
注意:使用者已經授權過的平台還會返回unionid,如果你只是需要unionid,則到此為止
4. 仿照示例解密後獲得unionid,想做什麼就做什麼了~
authlogin () ,新的授權需用button元件呼叫getuserinfo,所以在這之前無法呼叫wx.login,但是如果先呼叫獲取使用者資訊再呼叫wx.login的話,解密過程會出錯,猜測code對應的session_key和之前getuserinfo獲取的encrypteddata不匹配succeess: res => })}
})}})}
在頁面的onload生命週期裡呼叫wx.login,獲取的code存入data以備需要的時候使用,但是code失效時間為5分鐘,如果使用者停留頁面時間過長後點選授權登入,此時的code已經過期了,所以,獲取code的函式應該每4分鐘左右呼叫一次
小程式登入流程
之前一直對小程式登入流程比較模糊,今天看了個文章 感覺清晰了很多,總結一下。首先,我們不應該直接獲取使用者資訊,目前好像也不能直接獲取使用者資訊。原則是 當我們需要獲取使用者資訊的時候才發起授權。1.wx.getuserinfo 這個函式 是需要授權才能獲取使用者資訊 2.那麼我們只能用button...
小程式登入及AppSecret 小程式金鑰
在授權開發以後,需要提交小程式金鑰,有小程式金鑰第三方才有能力獲取使用者的一些資訊,提供一些能力!1.呼叫wx.login介面,靜默獲取openid 適用場景 無需使用使用者頭像 暱稱 unionid資訊 2.使用open data 小程式 或者開放資料域 小遊戲 的方式展示使用者資訊 無需使用者授...
小程式彈出登入詢問
邏輯如下 1 第一次登陸的時候會有乙個登入按鈕遮罩浮層提示去授權登入 2 在彈出的授權框裡,拒絕授權按鈕的時候,介面的資料沒有辦法載入出來,允許授權的時候,介面就能渲染從後端拿過來的資料 3 判斷是否授過權 判斷是第一次登入還是第n次 如果使用者第一次已經登入授權,後面繼續登入的時候懸浮框就不會再出...