本文面向的是php語言laravel框架的用戶,介紹的是基于該框架實(shí)現(xiàn)的一個(gè)簡易集成微信登錄的方法。使用方法如下:
1. 安裝php_weixin_provider
在項(xiàng)目下運(yùn)行composer require thirdproviders/weixin,即可完成安裝。安裝成功后,在項(xiàng)目的vendor目錄下應(yīng)該能看到php_weixin_provider的庫文件:
2. 配置微信登錄的參數(shù)
一共有7個(gè)參數(shù)可以配置,分別是:
client_id:對應(yīng)公眾號創(chuàng)建的應(yīng)用appid
client_secret:對應(yīng)公眾號創(chuàng)建的應(yīng)用appid
redirect:對應(yīng)微信授權(quán)成功后的回調(diào)地址
proxy_url:對應(yīng)微信授權(quán)的代理服務(wù)地址(其作用可閱讀這篇文章了解)
device:區(qū)別是PC端微信登錄還是移動端微信登錄,默認(rèn)值為pc,如果是移動端,可設(shè)置為空
state_cookie_name:授權(quán)鏈接中會包含隨機(jī)的state參數(shù),這個(gè)參數(shù)在微信回調(diào)的時(shí)候會原封不動的返回來,屆時(shí)可通過驗(yàn)證state參數(shù)是否與授權(quán)鏈接中傳入的參數(shù)相同,來判斷請求是否有效,防止CSRF攻擊。這個(gè)方案,會在授權(quán)時(shí)把state參數(shù)先存到cookie里面,所以這個(gè)參數(shù)用來指定這個(gè)state參數(shù)存入的cookie名稱,默認(rèn)值是wx_state_cookie
state_cookie_time:指定wx_state_cookie的有效時(shí)長,默認(rèn)是5分鐘
這七個(gè)參數(shù)有2種設(shè)置方式。
第一種是把這些參數(shù)以大寫的形式配置到.env配置文件里面: