套件簡介

套件名稱 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

參考來源

https://stackoverflow.com/questions/30240840/laravel-5-socialite-curl-error-77-error-setting-certificate-verify-locations

results matching ""

    No results matching ""