詳解用vue.js和laravel實(shí)現(xiàn)微信授權(quán)登陸
在laravel框架我們使用安正超的package
網(wǎng)址:https://easywechat.org/
有專門的針對(duì)laravel的安裝包,請(qǐng)參見如下網(wǎng)址:https://github.com/overtrue/laravel-wechat
下面來說說具體的安裝:
1.安裝package
composer require overtrue/wechat
2.在app/config/app.php 中注冊(cè) ServiceProvider
Overtrue\LaravelWechat\ServiceProvider::class,
3.創(chuàng)建配置文件
php artisan vendor:publish --provider="Overtrue\LaravelWechat\ServiceProvider"
請(qǐng)修改應(yīng)用根目錄下的 config/wechat.php 中對(duì)應(yīng)的項(xiàng)即可
4.添加外觀到 config/app.php 中的 aliases 部分:
'wechat' => Overtrue\LaravelWechat\Facade::class,
5.添加路由
Route::any('/wechat', 'WechatController@serve');//控制器請(qǐng)按自己的實(shí)際情況填寫
特別注意:因?yàn)閘aravel自帶token驗(yàn)證,建議使用laravel-cors解決跨域問題,具體安裝見github地址:https://github.com/barryvdh/laravel-cors
6.控制器添加如下代碼:
/**
* 處理微信的請(qǐng)求消息
*
* @return string
*/
public function serve()
{
$wechat = app('wechat');
$wechat->server->setMessageHandler(function($message){
return "歡迎關(guān)注 overtrue!";
});
return $wechat->server->serve();
}
7.配置好了路由和控制器,就得到了微信授權(quán)所需的URL,此時(shí)打開微信公眾平臺(tái),在“開發(fā)—基本配置”頁面,點(diǎn)擊“修改配置”按鈕,得到:

修改配置頁面
1) 將剛才的URL填入U(xiǎn)RL輸入框內(nèi)
2) token可自定義
3) EncodingAESKey 可隨機(jī)生成
4) 消息加密用安全模式
8.在.env文件中配置以下參數(shù)
#微信配置,若不知道WECHAT_TOKEN和WECHAT_AES_KEY請(qǐng)繼續(xù)往下看 WECHAT_APPID= WECHAT_SECRET= WECHAT_TOKEN= WECHAT_AES_KEY= #微信支付用 WECHAT_PAYMENT_MERCHANT_ID= WECHAT_PAYMENT_KEY=
最后一步,填寫完成后提交,微信將會(huì)調(diào)用此URL接口來驗(yàn)證,如果驗(yàn)證成功,就通過配置。
在公眾平臺(tái),還有一項(xiàng)重要配置,如下:
在微信公眾平臺(tái)“接口權(quán)限”—“網(wǎng)頁授權(quán)”—“網(wǎng)頁授權(quán)域名”,填上服務(wù)器端域名(注:請(qǐng)仔細(xì)閱讀平臺(tái)上要求,特別注意得是,這里是服務(wù)器域名,不是客戶端域名?。?br />
接下來就可以實(shí)現(xiàn)微信授權(quán)登陸的功能了
10.在 app/Http/Kernel.php 中添加路由中間件:
protected $routeMiddleware = [ // ... 'wechat.oauth' => \Overtrue\LaravelWechat\Middleware\OAuthAuthenticate::class, ];
10.在路由中添加授權(quán)登陸的路由
Route::group(['middleware' => ['wechat.oauth']], function () {
Route::get('/auth','UsersController@wechatAuth');
});
11.在以上路由相應(yīng)的控制器中添加wechatAuth方法
public function wechatAuth(Request $request)
{
$userinfo = session('wechat.oauth_user')->original; // 拿到授權(quán)用戶資料
//這里寫用戶注冊(cè)到mysql的相關(guān)邏輯代碼,請(qǐng)自行補(bǔ)充
}
12.在微信中打開此路由下的url就發(fā)現(xiàn)出現(xiàn)微信認(rèn)證的界面,如未成功請(qǐng)自行檢查你的配置和代碼。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
前端在el-dialog中嵌套多個(gè)el-dialog代碼實(shí)現(xiàn)
最近使用vue+elementUI做項(xiàng)目,使用過程中很多地方會(huì)用到dialog這個(gè)組件,有好幾個(gè)地方用到了dialog的嵌套,下面這篇文章主要給大家介紹了關(guān)于前端在el-dialog中嵌套多個(gè)el-dialog代碼實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-01-01
Vue2+SpringBoot實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出到csv文件并下載的使用示例
本文主要介紹了Vue2+SpringBoot實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出到csv文件并下載,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10
vue項(xiàng)目在線上服務(wù)器訪問失敗原因分析
這篇文章主要介紹了vue項(xiàng)目在線上服務(wù)器訪問失敗原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
vue新建環(huán)境變量以及網(wǎng)絡(luò)請(qǐng)求工具axios的二次封裝詳解
這篇文章主要為大家介紹了vue新建環(huán)境變量以及網(wǎng)絡(luò)請(qǐng)求工具axios的二次封裝詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
elementUI+Springboot實(shí)現(xiàn)導(dǎo)出excel功能的全過程
這篇文章主要介紹了elementUI+Springboot實(shí)現(xiàn)導(dǎo)出excel功能,現(xiàn)在也對(duì)這個(gè)導(dǎo)出功能進(jìn)行一個(gè)匯總整理寫出來,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09

