此篇文章記錄自己開發中的微信客戶端掃碼登錄的實例以及步驟,便於以后自行學習記起的關鍵,看到的網友有借鑒的地方就借鑒,看不懂的也請別吐槽,畢竟每個人的思維和思路以及記錄東西的方式不一樣;
1.首先需要一個微信服務號,記住並非是訂閱號,拿到微信服務號的appid和AppSecret兩個值,這兩個值是申請微信號的時候就是存在的;
2.調用微信指定接口,然后彈出微信二維碼,如圖:
調用的連接接口彈出上圖的二維碼連接如下:
https://open.weixin.qq.com/connect/qrconnect?appid=wx00f80ce429d5e494&redirect_uri=&response_type=code&scope=snsapi_login#wechat_redirect
連接詳細注釋:
appid: appid就是上面所說的微信申請已存在的;
redirect_uri: 這個url地址就是項目中需要回調的地址,即為需要指向的地址,可以認為手機打開微信掃一掃后,微信掃一下后跳轉的地址;
response_type:是固定形式code值,(個人認為是請求微信那邊服務器后返回的code值)
scope:這個是微信提供默認的兩種類型,如下:
關於網頁授權的兩種scope的區別說明
a、以snsapi_base為scope發起的網頁授權,是用來獲取進入頁面的用戶的openid的,並且是靜默授權並自動跳轉到回調頁的。用戶感知的就是直接進入了回調頁(往往是業務頁面)
b、以snsapi_userinfo為scope發起的網頁授權,是用來獲取用戶的基本信息的。但這種授權需要用戶手動同意,並且由於用戶同意過,所以無須關注,就可在授權后獲取該用戶的基本信息。
c、用戶管理類接口中的“獲取用戶基本信息接口”,是在用戶和公眾號產生消息交互或關注后事件推送后,才能根據用戶OpenID來獲取用戶基本信息。這個接口,包括其他微信接口,都是需要該用戶(即openid)關注了公眾號后,才能調用成功的。
#wechat_redirect: 這一個是連接上參數默認的;
3.通過上面的返回的code值,然后就可以調用微信的另一個驗證接口了,調用后可以返回openid;拿到這個openid后就可以獲取到用戶的信息了,
獲取openid的連接為:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=AppSecret&code=CODE&grant_type=authorization_code
拿到最后的openid后,就可以根據項目中的業務情況判定用戶登錄情況了,如果用戶登錄綁定了,就跳轉到系統首頁,如果用戶沒有注冊並綁定用戶,就跳轉到用戶注冊頁面,提示用戶注冊新用戶並綁定;
至此個人記錄情況結束,歡迎借鑒,thank you!