套件簡介
套件名稱 | Laravel Socialite |
---|---|
套件來源 | 官方 |
Docs | https://github.com/laravel/socialite |
Laravel 版本 | 5.4.26 |
套件版本 | 3.0 |
安裝
# 移至 laravel 資料夾內
$ composer require laravel/socialite
設定
config\app.php
'providers' => [
// Other service providers...
Laravel\Socialite\SocialiteServiceProvider::class,
],
'aliases' => [
// Other ...
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
],
.env
FACEBOOK_CLIENT_ID=your-facebook-app-id
FACEBOOK_CLIENT_SECRET=your-facebook-app-secret
FACEBOOK_REDIRECT=http://your-callback-url
config\services.php
'facebook' => [
'client_id' => env('FACEBOOK_CLIENT_ID'),
'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
'redirect' => env('FACEBOOK_REDIRECT'),
],
程式
1.設定 routing
routes\web.php
Route::get('login/fb', 'LoginController@redirectToProvider');
Route::get('login/fb/callback', 'LoginController@handleProviderCallback');
2.建立 controller
$ php artisan make:controller LoginController
app\Http\Controllers\LoginController.php
use Socialite;
public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}
public function handleProviderCallback()
{
try {
$user = Socialite::driver('facebook')->user();
echo '<pre>';print_r($user);
}
catch (\Exception $e) {
echo 'failed';
}
}
3.建立入口
resources\views\welcome.blade.php
<a href="login/fb">Facebook login</a>
4.完成!
錯誤處理
1.下載 curl 憑證
2.憑證放置路徑
- E:\xampp\php
3.修改 php.ini
- curl.cainfo = "E:\xampp\php\cacert.pem"
4.重啟 apache
5.重啟 laravel serve
參考來源