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