微信公眾號登陸微商城
Oauth2.0
微信網頁授權 首先要獲取appID和appsecret
後臺設定授權域名 支援IP
後臺設定域名或者IP時不要加http://或者https:// 直接填寫域名即可 如果使用ip地址除錯 直接輸入IP即可(211.32.122.77) 如上圖
業務流程
1.在開發者開發的系統上引導使用者點選微信登入,點選微信登入時會訪問類似如下url
https://open.weixin.qq.com/connect/oauth2/authorize?appid=申請到的APPID&redirect_uri=
測試時不能使用微信PC版,如果遇到回撥時提示 ****點選繼續訪問 此時不要點選 繼續訪問 按鈕 可以點選 底部 訪問原網頁
解釋:回撥後code只能使用一次,如果使用某code請求了微信的介面,再次請求時會提示code被使用過,無法獲取到access_token
2.使用者在微信內訪問上述url地址時會提醒使用者授權(彈出授權確認框,只有scope為snsapi_userinfo時才會彈出授權確認框),使用者確認授權後悔跳轉到步驟1中的redirect_uri引數對應的url,並且會在地址中傳入code引數,此時會請求開發者設定的url 並執行對應的程式
3.在redirect_uri對應的url中需要獲取code,加上appsecret 請求微信的介面 請求地址如下
https://api.weixin.qq.com/sns/oauth2/access_token?appid=申請到的APPID&secret=
請求時可以使用file_get_contents 但是不推薦,推薦使用curl的方式抓取,並且設定超時時間 防止伺服器有過度的資源消耗
如果資料正常會獲取到access_token和openid(注:此請求只能請求一次,因為code只能使用一次)
4.通過access_token抓取使用者資訊
請求https://api.weixin.qq.com/sns/userinfo?access_token=步驟3中的access_token&openid=步驟3中的openid&lang=zh_CN
openid是微信使用者的唯一標識,和appid繫結