laravel 社會化登入組建華為oauth授權

onlyu發表於2022-10-14

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(),需要官方修改原始碼

laravel 社會化登入組建華為oauth授權

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章