小程序登錄及AppSecret(小程序密鑰)


在授權開發以后,需要提交小程序密鑰,有小程序密鑰第三方才有能力獲取用戶的一些信息,提供一些能力!

平台分別提供多種方式實現微信登錄:

1. 調用wx.login接口,靜默獲取openid

適用場景:無需使用用戶頭像、昵稱、Unionid信息

2. 使用 open-data (小程序)或者開放數據域(小游戲)的方式展示用戶信息(無需用戶授權)

適用場景:需要在前端“展示”用戶頭像、昵稱信息,但不需要獲取Unionid

3.使用button(小程序)或UserInfoButton(小游戲)組件,用戶點擊后彈窗請求用戶授權

適用場景:需要獲取用戶頭像、昵稱、Unionid等基本信息

 

開發建議

第一步:獲取openID

當用戶訪問小程序時,先通過wx.login,獲取用戶openID 。這時無需彈框授權,開發者拿到 openID 可以建立自身的帳號 ID。

第二步: 使用open-data方式或開放數據域方式展示頭像昵稱

如需要在前端展示用戶頭像、昵稱信息, 使用open-data 方式或者開放數據域的方式展示用戶信息

第三步:根據實際使用場景,使用組件,引導用戶登錄

在關鍵操作中,如必須獲取用戶頭像、昵稱、UnionID信息,可根據第一步獲取的openID判斷是新用戶還是舊用戶:

    如果是舊用戶,可以直接登錄,也可定期使用wx.getUserInfo更新用戶的信息;

    如果是新用戶,使用button(小程序)或UserInfoButton(小游戲)組件,在用戶點擊后彈窗請求獲取用戶基本信息。

 
 

會話密鑰 session_key 有效性

開發者如果遇到因為 session_key 不正確而校驗簽名失敗或解密失敗,請關注下面幾個與 session_key 有關的注意事項。

  1. wx.login 調用時,用戶的 session_key 可能會被更新而致使舊 session_key 失效(刷新機制存在最短周期,如果同一個用戶短時間內多次調用 wx.login,並非每次調用都導致 session_key 刷新)。開發者應該在明確需要重新登錄時才調用 wx.login,及時通過 code2Session 接口更新服務器存儲的 session_key。
  2. 微信不會把 session_key 的有效期告知開發者。我們會根據用戶使用小程序的行為對 session_key 進行續期。用戶越頻繁使用小程序,session_key 有效期越長。
  3. 開發者在 session_key 失效時,可以通過重新執行登錄流程獲取有效的 session_key。使用接口 wx.checkSession可以校驗 session_key 是否有效,從而避免小程序反復執行登錄流程。
  4. 當開發者在實現自定義登錄態時,可以考慮以 session_key 有效期作為自身登錄態有效期,也可以實現自定義的時效性策略。
 

 

如果使用自己服務器定義的登錄態失效時間,則不需要wx.checkSession

 

 

 

 

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM