laravel 社會化登入組建華為oauth授權
composer require x12311231-laravel-socialite/huawei
新增事件監聽 app/Providers/EventServiceProvider.php
protected $listen = [
\SocialiteProviders\Manager\SocialiteWasCalled::class => [
'X12311231LaravelSocialite\\huawei\\HuaweiExtendSocialite@handle',
],
];
新增配置 config/services.php
'huawei' => [
'client_id' => env('HUAWEI_CLIENT_ID'),
'client_secret' => env('HUAWEI_CLIENT_SECRET'),
'redirect' => env('HUAWEI_REDIRECT_URI')
],
環境變數 .env
HUAWEI_CLIENT_ID=your_app_id
HUAWEI_CLIENT_SECRET=your_app_secret
HUAWEI_REDIRECT_URI=http://localhost/auth/huawei/callback
路由配置
Route::get('/auth/huawei/redirect', function () {
return Socialite::driver('huawei')->redirect();
});
Route::get('/auth/huawei/callback', function () {
$user = Socialite::driver('huawei')->user();
return json_encode($user);
});
這裡要寫個發現的問題
1,如果要整合多個登入方式,那麼在註冊驅動的時候也會把其他擴充套件驅動帶上,這個目前好像無解,
透過門面呼叫後載入defered服務提供者,呼叫register(),boot(),再呼叫driver(),需要官方修改原始碼
本作品採用《CC 協議》,轉載必須註明作者和本文連結