Facebookログイン
12396 ワード
このポストでは、私はFacebookを使用してLaravel Socialite認証について説明します.
以下の手順に従います.
LaTeavel Socialiteパッケージを作曲家を使用してインストールします.
イン
フェイスブックサービス
ここでは、あなたが得ることができるようにFacebookアプリを作成する必要があります
あなたはFacebookに行くことによってこれを行うことができますdevelopers URL
と自分のFacebookのアカウントでログインします.
移動する
Socialiteアクションを処理する新しいコントローラを作成します.以下のコマンドを実行して新しいコントローラを生成します
Facebook認証ルートを加えてください
ログインページの上にFacebookボタンを加えてください
追加
ユーザーモデルのfillableプロパティを更新する
あなたがそれを統合している間、どんな問題でも得るならば、あなたの問題をコメントしてください.
コードを得るTechtool Github
閉じるこの動画はお気に入りから削除されています.
読書ありがとう
私に手を伸ばしなさい.
Facebook
以下の手順に従います.
ステップ1
LaTeavel Socialiteパッケージを作曲家を使用してインストールします.
composer require laravel/socialite
注意: laravelよりバージョン8より小さい場合は、プロバイダにパッケージを含めます.イン
config/app.php
以下のプロバイダを追加しますLaravel\Socialite\SocialiteServiceProvider::class,
エイリアスセクションにスクロールし、以下のコードを追加します'Socialite' => Laravel\Socialite\Facades\Socialite::class,
ステップ2
フェイスブックサービス
config/services.php
ファイル.'facebook' => [
'client_id' => '', //USE FROM FACEBOOK DEVELOPER ACCOUNT
'client_secret' => '', //USE FROM FACEBOOK DEVELOPER ACCOUNT
'redirect' => 'https://examplelaravel8.test/facebook/callback/'
],
ステップ3
ここでは、あなたが得ることができるようにFacebookアプリを作成する必要があります
client_id
and client_secret
フェイスブックから.あなたはFacebookに行くことによってこれを行うことができますdevelopers URL
と自分のFacebookのアカウントでログインします.
移動する
My Apps
, 続行するAdd New App
ステップ4
Socialiteアクションを処理する新しいコントローラを作成します.以下のコマンドを実行して新しいコントローラを生成します
php artisan make:controller FaceBookController
2つの関数をリダイレクトし、コールバックを処理する機能を備えたコードを使用して、FaceBookControllerを更新します.<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Laravel\Socialite\Facades\Socialite;
class FaceBookController extends Controller
{
/**
* Login Using Facebook
*/
public function loginUsingFacebook()
{
return Socialite::driver('facebook')->redirect();
}
public function callbackFromFacebook()
{
try {
$user = Socialite::driver('facebook')->user();
$saveUser = User::updateOrCreate([
'facebook_id' => $user->getId(),
],[
'name' => $user->getName(),
'email' => $user->getEmail(),
'password' => Hash::make($user->getName().'@'.$user->getId())
]);
Auth::loginUsingId($saveUser->id);
return redirect()->route('home');
} catch (\Throwable $th) {
throw $th;
}
}
}
ステップ5
Facebook認証ルートを加えてください
// Facebook Login URL
Route::prefix('facebook')->name('facebook.')->group( function(){
Route::get('auth', [FaceBookController::class, 'loginUsingFacebook'])->name('login');
Route::get('callback', [FaceBookController::class, 'callbackFromFacebook'])->name('callback');
});
ステップ6
ログインページの上にFacebookボタンを加えてください
resources/views/auth/login.blade.php
<a href="{{ route('facebook.login') }}" class="btn btn-facebook btn-user btn-block">
<i class="fab fa-facebook-f fa-fw"></i>
Login with Facebook
</a>
ステップ7
追加
facebook_id
ユーザーテーブルの列、以下のコマンドを実行しますphp artisan make:migration add_facebook_id_in_users_table
移行ファイルに以下のコードを追加 /**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('facebook_id')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('facebook_id');
});
}
移動を実行するphp artisan migrate
ステップ8
ユーザーモデルのfillableプロパティを更新する
Models/User.php
protected $fillable = [
'name',
'email',
'password',
'status',
'facebook_id'
];
最後にログインページに移動し、Facebookのボタンでログインにアクセスしてください.あなたがそれを統合している間、どんな問題でも得るならば、あなたの問題をコメントしてください.
コードを得るTechtool Github
閉じるこの動画はお気に入りから削除されています.
読書ありがとう
私に手を伸ばしなさい.
Reference
この問題について(Facebookログイン), 我々は、より多くの情報をここで見つけました https://dev.to/techtoolindia/laravel-socialite-facebook-login-5caeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol