微信使用者授權

2022-09-01 16:45:20 字數 764 閱讀 9067

每次都授權彈窗設計模式

// 當使用者訪問位址url,url不能是hash位址,也就是位址列不能有【#】

// 前端js判斷位址列url有沒有code引數,沒有就重定向

// 也就是說雖然開啟的頁面沒變,但是位址列上多了個code引數,並且頁面重新整理了兩次

// 再把資料和openid一起存進資料庫

靜默授權設計模式

// 當使用者訪問位址url,url不能是hash位址,也就是位址列不能有【#】

// 前端js判斷位址列url有沒有code引數,沒有就重定向

// 也就是說雖然開啟的頁面沒變,但是位址列上多了個code引數,並且頁面重新整理了兩次

// 因為這種方式沒有access_token,所以無法獲取使用者資訊,把openid存進資料庫就行

可以看出兩種模式區別就是在於access_token的有無,以及第乙個是直接授權,但是每次都要授權【使用者很反感授權的】,第二是靜默授權,但是需要使用者關注,我建議第二種,上面的**後續貼出來,敬請期待....

這兩種都是在前後端分離情況下實現的,如果不是前後端分離,頁面是有後端伺服器返回的,重定向授權頁面的操作就是後端做,因為位址列出現code之後,還是會再請求一次伺服器,這一次有code,就不需要前端主動把code傳上來了,可以說全程由後端實現

補充

oauth鑑權

微信使用者登入

namespace weixin controller use think controller use think model session start 開啟session class testcontroller extends controller 繼承的這個控制器沒用 你可以繼承其他的任意...

PHP獲取微信使用者手機號

code input post.code encrypteddata urldecode input post.encrypteddata 前端需要用encodeuricomponent加密 iv input post.iv 首先 我們拿code去curl獲取到使用者的資訊 openid,sessi...

微信小程式 使用者拒絕授權,重新調起授權

獲取使用者資訊 wx.getuserinfo method post header success function res wx.setstorage 獲取會員資訊 var rsadata this.rsadata wx.request header method post success fun...