laravel 社会化登录组建华为oauth授权
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 协议》,转载必须注明作者和本文链接