라라벨 사교계 명사

4386 단어
Socialite를 시작하려면 Composer를 사용하여 프로젝트의 종속성에 패키지를 추가하십시오.
bash composer require laravel/socialite
Socialite를 사용하기 전에 애플리케이션에서 사용하는 OAuth 서비스에 대한 자격 증명도 추가해야 합니다. 이러한 자격 증명은 config/services.php 구성 파일에 배치해야 하며 애플리케이션에 필요한 공급자에 따라 facebook, twitter, linkedin, google, github, gitlab 또는 bitbucket 키를 사용해야 합니다. 예를 들어:

'github' => [
    'client_id' => env('GITHUB_CLIENT_ID'),
    'client_secret' => env('GITHUB_CLIENT_SECRET'),
    'redirect' => 'http://your-callback-url',
],


다음으로 사용자를 인증할 준비가 되었습니다! 두 가지 경로가 필요합니다. 하나는 사용자를 OAuth 공급자로 리디렉션하기 위한 것이고 다른 하나는 인증 후 공급자로부터 콜백을 수신하기 위한 것입니다. Socialite 파사드를 사용하여 Socialite에 액세스합니다.

<?php
/**
*@author Miller Juma
**/

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Laravel\Socialite\Facades\Socialite;

class LoginController extends Controller
{
    /**
     * Redirect the user to the GitHub authentication page.
     *
     * @return \Illuminate\Http\Response
     */
    public function redirectToProvider()
    {
        return Socialite::driver('github')->redirect();
    }

    /**
     * Obtain the user information from GitHub.
     *
     * @return \Illuminate\Http\Response
     */
    public function handleProviderCallback()
    {
        $user = Socialite::driver('github')->user();

        // $user->token;
    }
}


리디렉션 방법은 사용자를 OAuth 공급자에게 보내는 작업을 처리하는 반면 사용자 방법은 들어오는 요청을 읽고 공급자로부터 사용자 정보를 검색합니다.

컨트롤러 메서드에 대한 경로를 정의해야 합니다.

use App\Http\Controllers\Auth\LoginController;

Route::get('login/github', [LoginController::class, 'redirectToProvider']);
Route::get('login/github/callback', [LoginController::class, 'handleProviderCallback']);


시도해 보세요. 막혔을 때 기꺼이 도와드리겠습니다...

좋은 웹페이지 즐겨찾기