目前市場下微信的業(yè)務(wù)越來越多,公眾號小程序等等的普及,導(dǎo)致微信的用戶也越來越多,普及面也越來越廣,大多數(shù)的網(wǎng)站在會員的注冊方面,為了方便用戶的使用和減少帳號的記憶,都開發(fā)了微信的掃碼登錄注冊功能,實現(xiàn)新用戶注冊或者老用戶登錄,無需要在記錄帳號密碼等信息,只需要用微信掃一掃,授權(quán)登錄即可,方便快捷,已經(jīng)成為網(wǎng)站會員注冊登錄不可缺少的一個功能。
目前常用的微信開發(fā)平臺比較多的是微信的公眾平臺開發(fā),主要用于微信小程序的開發(fā)和微信公眾號的開發(fā),而今天介紹的微信掃碼登錄需要在微信的微信開放平臺注冊成為開發(fā)者開發(fā),然后為創(chuàng)建一個網(wǎng)站應(yīng)用,創(chuàng)建完成之后即可開始進行掃碼登錄的開發(fā),先說一下大致的開發(fā)流程。
1. 寫一個獲取服務(wù)器返回數(shù)據(jù)的自定義函數(shù)或者使用PHP的 file_get_content 函數(shù)
PHP CURL//php curl(GET)請求 public function curlGet($url){ if(empty($url)){ return false; } $output = ''; $ch = curl_init(); $str =$url; curl_setopt($ch, CURLOPT_URL, $str); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); $output = curl_exec($ch); return $output; }
2.瀏覽器訪問地址,生成登錄二維碼,使用微信掃一掃獲取二維碼的參數(shù)
3.發(fā)送ACCESS_TOKEN獲取請求,獲取ACCESS_TOKEN參數(shù)
使用 curlGet() 自定義函數(shù)訪問以下網(wǎng)址
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
4.發(fā)送請求獲取用戶信息
使用 curlGet() 自定義函數(shù)訪問以下網(wǎng)址,ACCESS_TOKEN和OPENID為上一步從接口獲取到的參數(shù)
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
通過訪問可以獲得用戶基本信息,基本信息主要有一下信息
獲取到用戶的基本信息之后就可以進行下一步服務(wù)器后臺對用戶的信息進行記錄等邏輯代碼的執(zhí)行,微信的掃碼登錄就完成了。