佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > laravel使用組件實現(xiàn)微信網(wǎng)頁授權(quán)登入

laravel使用組件實現(xiàn)微信網(wǎng)頁授權(quán)登入

熱門標簽:團購網(wǎng)站 Mysql連接數(shù)設置 銀行業(yè)務 阿里云 服務器配置 電子圍欄 Linux服務器 科大訊飛語音識別系統(tǒng)

laravel框架中的實現(xiàn)簡單實現(xiàn)微信網(wǎng)頁授權(quán)登入

首先引入基于laravel的easywechat的組件,laravel版本5.8

$ cd laravel
$ composer require "overtrue/laravel-wechat:~5.0"

參考組件地址:https://github.com/overtrue/laravel-wechat

然后呢因為下載過程會比較緩慢所以可以先根據(jù)官方提供的方式配置一下該組件的中間件


根據(jù)官方提供的測試代碼在routes/web.php中定義這個參數(shù)


然后開啟natapp 再訪問在routes/web.php中定義的user路由
natapp使用方法https://natapp.cn/article/natapp_newbie

注意還有一個動作要做就是發(fā)布配置文件

php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"

修改應用根目錄下的 config/wechat.php 中對應的參數(shù)即可;我們可以把信息放到.env


模擬授權(quán)

有時候我們希望在本地開發(fā)完成后線上才真實的走微信授權(quán)流程,這將減少我們的開發(fā)成本,那么你需要做以下兩步:

準備資料:
以下字段在 scopesnsapi_userinfo 時盡可能配置齊全哦,當然,如果你的模式只是 snsapi_base 的話只需要 openid 就好了。

use Illuminate\Support\Arr;
use Overtrue\Socialite\User as SocialiteUser;

$user = new SocialiteUser([
        'id' => Arr::get($user, 'openid'),
        'name' => Arr::get($user, 'nickname'),
        'nickname' => Arr::get($user, 'nickname'),
        'avatar' => Arr::get($user, 'headimgurl'),
        'email' => null,
        'original' => [],
        'provider' => 'WeChat',
      ]);

將資料寫入 session:
注意:一定要在 OAuth 中間件之前寫入,比如你可以創(chuàng)建一個全局中間件來完成這件事兒,當然了,只在開發(fā)環(huán)境啟用即可。

session([‘wechat.oauth_user.default' => $user]); // 同理,default 可以更換為您對應的其它配置名

事件
你可以監(jiān)聽相應的事件,并對事件發(fā)生后執(zhí)行相應的操作。

OAuth 網(wǎng)頁授權(quán):Overtrue\LaravelWeChat\Events\WeChatUserAuthorized
// 該事件有以下屬性
$event->user; // 同 session(‘wechat.oauth_user.default') 一樣
$event->isNewSession; // 是不是新的會話(第一次創(chuàng)建 session 時為 true)
$event->account; // 當前中間件所使用的賬號,對應在配置文件中的配置項名稱

開放平臺路由支持
在配置文件 route 處取消注釋即可啟用。

'open_platform' => [
  'uri' => 'serve',
  'action' => Overtrue\LaravelWeChat\Controllers\OpenPlatformController::class,
  'attributes' => [
    'prefix' => 'open-platform',
    'middleware' => null,
  ],
],

授權(quán)方成功授權(quán):Overtrue\LaravelWeChat\Events\OpenPlatform\Authorized
授權(quán)方更新授權(quán):Overtrue\LaravelWeChat\Events\OpenPlatform\UpdateAuthorized
授權(quán)方取消授權(quán):Overtrue\LaravelWeChat\Events\OpenPlatform\Unauthorized
開放平臺推送 VerifyTicket:Overtrue\LaravelWeChat\Events\OpenPlatform\VerifyTicketRefreshed
// 事件有如下屬性
$message = $event->payload; // 開放平臺事件通知內(nèi)容
配置后 http://example.com/open-platform/serve 則為開放平臺第三方應用設置的授權(quán)事件接收 URL。

更多 SDK 的具體使用請參考:https://easywechat.com

到此這篇關于laravel使用組件實現(xiàn)微信網(wǎng)頁授權(quán)登入的文章就介紹到這了,更多相關laravel微信網(wǎng)頁授權(quán)登入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Laravel的加密解密與哈希實例講解
  • Laravel 數(shù)據(jù)庫加密及數(shù)據(jù)庫表前綴配置方法
  • laravel 5.3中自定義加密服務的方案詳解
  • Laravel中10個有用的用法小結(jié)
  • Laravel中的where高級使用方法實例講解
  • Laravel 重寫日志,讓日志更優(yōu)雅
  • Laravel統(tǒng)一封裝接口返回狀態(tài)實例講解
  • 淺談Laravel中如何對大文件進行加密

標簽:蚌埠 衢州 衡水 江蘇 棗莊 萍鄉(xiāng) 廣元 大理

巨人網(wǎng)絡通訊聲明:本文標題《laravel使用組件實現(xiàn)微信網(wǎng)頁授權(quán)登入》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    垫江县| 普格县| 正蓝旗| 农安县| 沙湾县| 双桥区| 呼玛县| 新兴县| 资溪县| 淮安市| 巧家县| 盘锦市| 盐亭县| 邯郸市| 铜鼓县| 札达县| 宁海县| 咸丰县| 荥经县| 嘉义市| 吉木萨尔县| 什邡市| 称多县| 连南| 玉门市| 白银市| 尼玛县| 恩施市| 黑水县| 普兰县| 方城县| 潞城市| 广安市| 南通市| 蒲城县| 马山县| 繁峙县| 祁门县| 来凤县| 渑池县| 淄博市|