"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Laravel에서 \"Facebook으로 로그인\"을 구현하는 방법

Laravel에서 \"Facebook으로 로그인\"을 구현하는 방법

2024년 10월 31일에 게시됨
검색:663

How to Implement \

이 튜토리얼은 Laravel 애플리케이션에 Facebook 로그인 기능을 추가하는 과정을 안내합니다.

전제 조건

  • Laravel 프로젝트 설정
  • 작곡가 설치됨
  • Facebook 개발자 계정

1단계: Facebook 앱 만들기

  1. Facebook 개발자로 이동
  2. '내 앱'을 클릭한 다음 '앱 만들기'를 클릭하세요.
  3. 앱 유형으로 '소비자'를 선택하세요.
  4. 앱 세부정보를 입력하고 앱을 만듭니다.
  5. 앱 대시보드에서 앱 ID와 앱 비밀번호를 적어두세요.

2단계: Laravel Socialite 설치

Laravel Socialite는 Facebook, Twitter, Google, LinkedIn, GitHub, GitLab 및 Bitbucket을 통한 OAuth 인증에 대한 표현적이고 유창한 인터페이스를 제공합니다.
Composer를 통해 설치하세요:

composer require laravel/socialite

3단계: 소셜 명사 구성

config/services.php 파일에 다음을 추가하세요:

'facebook' => [
    'client_id' => env('FACEBOOK_CLIENT_ID'),
    'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
    'redirect' => env('FACEBOOK_REDIRECT_URI'),
],

그런 다음 .env 파일에 다음을 추가하세요.

FACEBOOK_CLIENT_ID=your_facebook_app_id
FACEBOOK_CLIENT_SECRET=your_facebook_app_secret
FACEBOOK_REDIRECT_URI=http://localhost:8000/login/facebook/callback

4단계: 경로 설정

routes/web.php에 다음 경로를 추가하세요:

use App\Http\Controllers\Auth\FacebookController;

Route::get('login/facebook', [FacebookController::class, 'redirectToFacebook'])->name('login.facebook');
Route::get('login/facebook/callback', [FacebookController::class, 'handleFacebookCallback']);

5단계: FacebookController 생성

새 컨트롤러 만들기:

php artisan make:controller Auth/FacebookController

컨트롤러 구현:

redirect();
    }

    public function handleFacebookCallback()
    {
        try {
            $user = Socialite::driver('facebook')->user();
            $finduser = User::where('facebook_id', $user->id)->first();

            if ($finduser) {
                Auth::login($finduser);
                return redirect()->intended('dashboard');
            } else {
                $newUser = User::create([
                    'name' => $user->name,
                    'email' => $user->email,
                    'facebook_id'=> $user->id,
                    'password' => encrypt('123456dummy')
                ]);

                Auth::login($newUser);
                return redirect()->intended('dashboard');
            }
        } catch (\Exception $e) {
            dd($e->getMessage());
        }
    }
}

6단계: 사용자 모델 업데이트

사용자 모델의 채울 수 있는 배열에 facebook_id를 추가하세요.

protected $fillable = [
    'name',
    'email',
    'password',
    'facebook_id',
];

7단계: 사용자 테이블에 Facebook ID 추가

새 마이그레이션 만들기:

php artisan make:migration add_facebook_id_to_users_table

새 마이그레이션 파일에서:

public function up()
{
    Schema::table('users', function ($table) {
        $table->string('facebook_id')->nullable();
    });
}

public function down()
{
    Schema::table('users', function ($table) {
        $table->dropColumn('facebook_id');
    });
}

이전 실행:

php artisan migrate

8단계: 로그인 버튼 추가

로그인 보기에 "Facebook으로 로그인" 버튼을 추가하세요.


    Login with Facebook

릴리스 선언문 이 글은 https://dev.to/johnmaths9/how-to-implement-login-with-facebook-in-laravel-2m5p?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다. 그것
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3