【干貨】ThinkPHP6對接微信掃碼登錄

在近幾年的互聯網網站中,使用微信登錄的場景可是越來越多。據統計2020年,全球微信高達11億,也確實如此,微信這個好用的社交工具,可以說小到一個小學生大到你的七大姑八大姨,很多人可能沒有QQ,但他一定有微信。所以微信登錄是程序員必備的一項工作技能。

微信掃碼登錄對接thinkphp6,話不多說,直接上車。

一、準備資料:

1、訪問 https://open.weixin.qq.com/,注冊賬戶。

2、開發者認證:企業。

3、創建一個網站應用:網站域名必須備案(可使用二級域名),獲得相應的AppID和AppSecret,申請微信登錄且通過審核。

立即學習PHP免費學習筆記(深入)”;

二、接入微信登錄步驟:

首先看下微信官網給出的步驟說明:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

1. 第三方發起微信授權登錄請求,微信用戶允許授權第三方應用后,微信會拉起應用或重定向到第三方網站,并且帶上授權臨時票據code參數;

2. 通過code參數加上AppID和AppSecret等,通過API換取access_token;

3. 通過access_token進行接口調用,獲取用戶基本數據資源或幫助用戶實現基本操作。

三、接入微信登錄實操環節:

1、放好微信登錄圖標,并添加鏈接。

比如鏈接到www.a,com/index/user/weixindenglu。下面我們看下weixindenglu方法代碼。

public?function?weixindenglu(){ ???$appid='wx868f988d79a4f2bb'; ???$redirect_uri=urldecode('http://www.dongpaiweb.cn/index/index/weixin.html'); ???$url='https://open.weixin.qq.com/connect/qrconnect?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect'; ????????header("location:".$url); }

這個時候我們點擊微信小圖標就會出現掃碼的界面。拿出手機趕緊微信掃碼。

注意:$redirect_uri是我們的回調地址,意思是用戶微信掃碼后的處理地址)。

2、獲得用戶的code。

微信掃碼后就跳轉到了上面定義的回調地址weixin方法。我們看下weixin方法代碼:

????public?function?weixin(){ ????????$code=input('get.code'); ????}

code獲取很簡單,我們看下打印效果:

【干貨】ThinkPHP6對接微信掃碼登錄

3、獲得Access Token 和openid,我們在weixin()方法中繼續添加代碼:

public?function?weixin(){ ????????$code=input('get.code'); ????????$appid='wx868f988d79a4f25b'; ????????$appsecret='82b426f2882b6a1398b8312cc1de037b'; ????????$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code'; ???????? ????????//json對象變成數組 ????????$res=json_decode(file_get_contents($url),true); ????????$access_token=$res['access_token']; ????????$openid=$res['openid'];  ????}

這樣我們就獲取到了access_token和openid,我們看下打印效果:

【干貨】ThinkPHP6對接微信掃碼登錄

5、獲取用戶全部信息,我們在weixin()方法中繼續添加代碼:

public?function?weixin(){ ????????$code=input('get.code'); ????????$appid='wx868f988d79a4f25b'; ????????$appsecret='82b426f2882b6a1398b8312cc1de037b'; ????????$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code'; ???????? ????????//json對象變成數組 ????????$res=json_decode(file_get_contents($url),true); ????????$access_token=$res['access_token']; ????????$openid=$res['openid'];  ????????$urlyonghu='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid; ????????$user=json_decode(file_get_contents($urlyonghu),true); ????????print_r($user); ????}

這樣我們就獲取了用戶的昵稱、地址、頭像等信息,看下打印效果:

【干貨】ThinkPHP6對接微信掃碼登錄

在我們獲取用戶微信信息后,我們就可以整理數據入庫了。

如果是用戶第一次登錄,我們可以設置綁定手機號的界面,綁定手機號后即算是注冊成功。如果我們檢測到已經綁定手機號,即代表登錄成功跳轉到成功界面。

以上就是thinkphp6對接微信掃碼登錄的操作步驟。加薪升職,趕緊get此技能!

以上就是【干貨】ThinkPHP6對接

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享