微信授權自動登入
阿新 • • 發佈:2018-12-19
我們在寫小程式微信授權的時候,微信有自己的內建瀏覽器,我們要先判斷使用者是否在微信客服端登入
String ua = request.getHeader("User-Agent");判斷ua裡是否有MicroMessenger字串,ua.contains("MicroMessenger")
微信的授權有兩種方式,一種是靜默授權snsapi_base為scope,使用者為感知,只能獲取使用者的openid。
另一種是scope為snsapi_userinfo需要使用者同意才行,因為這裡介紹的是開發微信的公眾號授權,使用者已經關注,所以也是為感知的。
第一步,獲取使用者的code
第二步。通過code換取acesstoken
第三步,重新整理acesstoken
如何判斷acesstoken過期,
java是面向物件的,所以我們建立一個實體類為accesstoken,然後在第二步獲取到acesstoken的時候轉換為實體類物件,然後在它的構造方法中來計算時間。
第四步,拉取使用者的資訊、
{ "openid":" OPENID", " nickname": NICKNAME, "sex":"1", "province":"PROVINCE" "city":"CITY", "country":"COUNTRY", "headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", "privilege":[ "PRIVILEGE1" "PRIVILEGE2" ], "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" }
以上就是微信端授權過程,下面附上微信開發文件的地址