最近項目接觸到微信h5頁面開發,對於一個對微信只接觸太小程序的小白來講,整個流程都是懵懵逼逼的。對微信受權流程以前只是有個大體的瞭解,本身並非很清楚其中的通訊,恰好有機會跟小組長一塊兒去探討這個問題,梳理了一下基於咱們項目的微信受權邏輯。前端
由上順序圖能夠看到小程序
https://open.weixin.qq.com/co...
這裏有兩個參數比較注意的是:redirect_uri和state,redirect_uri主要是存放後臺的接口訪問地址,state主要存放微信受權成功後須要跳轉的頁面地址。與整個微信受權流程緊密相關,請先記住了!!記不住記得回來回憶一下後端
若提示該連接沒法訪問,請檢查參數是否填寫錯誤,是否擁有scope參數對應的受權做用域權限。微信返回參數錯誤的緣由通常有兩種:一是在微信公衆平臺沒有配置相應的參數;二是前端配置的接口參數與公衆平臺不一致。api
具體參數說明瀏覽器
參數 | 是否必須 | 說明 |
---|---|---|
appid | 是 | 公衆號的惟一標識 |
redirect_uri | 是 | 受權後重定向的回調連接地址, 須要使用 urlEncode 對連接進行處理 |
response_type | 是 | 返回類型,填寫code |
scope | 是 | 應用受權做用域,snsapi_base (不彈出受權頁面,直接跳轉,只能獲取用戶openid),snsapi_userinfo (彈出受權頁面,可經過openid拿到暱稱、性別、所在地。而且, 即便在未關注的狀況下,只要用戶受權,也能獲取其信息 ) |
state | 否 | 重定向後會帶上state參數,傳遞什麼返回什麼 |
wechat_redirect | 是 | 不管直接打開仍是作頁面302重定向時候,必須帶此參數 |
因爲公衆號的secret和獲取到的access_token安全級別都很是高,必須只保存在服務器,不容許傳給客戶端。後續刷新access_token、經過access_token獲取用戶信息等步驟,也必須從服務器發起安全
https://api.weixin.qq.com/sns...
請求方法:服務器
http:GET(請使用https協議) https://api.weixin.qq.com/sns...
參數 | 說明 |
---|---|
access_token | 網頁受權接口調用憑證,注意:此access_token與基礎支持的access_token不一樣 |
openid | 用戶的惟一標識 |