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

王林
풀어 주다: 2024-08-16 06:54:42
원래의
735명이 탐색했습니다.

How to Implement

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

전제 조건

  • 라라벨 프로젝트 셋업
  • 컴포저 설치
  • 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단계: 사용자 모델 업데이트

User 모델의 채울 수 있는 배열에 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 
로그인 후 복사

위 내용은 Laravel에서 \'Facebook으로 로그인\'을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!