Laavel Socialite로 간단한 소셜 로그인
Laavel Socialite is는 도대체 무엇입니까?
Laravel Socialite는 소셜 로그인을 위한 패키지입니다.옵션이기 때문에 Laavel을 설치할 때는 포함되지 않지만 Composer에서 간단하게 설치할 수 있습니다.처음 준비된 드라이버는 다음과 같습니다.
Laavel Socialite 설치
composer.json 다음과 같이 편집합니다.한 줄만 추가합니다.이번Illuminate/Html에도 설치했습니다.composer.json
{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "laravel/framework": "~5.0",
        "illuminate/html": "~5.0",  // オプションになったので追加
        "laravel/socialite": "~2.0" // ここを追加
    },
    "require-dev": {
        "phpunit/phpunit": "~4.0",
        "barryvdh/laravel-ide-helper": "~1.0"
    },
    "autoload": {
        "classmap": [
            "database",
            "tests/TestCase.php"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan route:scan",
            "php artisan event:scan",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan ide-helper:generate",
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev"
}
config/app.php에 등록Laravel Socialite과Service Provider.app.php
<?php
return [
    'providers'       => [
        'Laravel\Socialite\SocialiteServiceProvider', // こいつが大事
        'Illuminate\Html\HtmlServiceProvider',        // オプションじゃなくてもええんやで…。
    ],
    'aliases'         => [
        'Socialite' => 'Laravel\Socialite\Facades\Socialite',
    ],
];
command
$ composer update
Giithub에 로그인해 보세요.
그럼 실제로 해 보세요.
애플리케이션 등록
우선GiitHub 설정에서 Application으로 마이그레이션 Register New Application을 선택합니다.
 
 표시된 항목을 적절하게 입력합니다.중요한 것은'Authorization call back URL'이다.Giithub 인증 후 여기에 입력한 URL을 리디렉션합니다.입력이 끝나면 Register applicaton 버튼을 클릭합니다.
 
 클릭하면 오른쪽 위에 있는 모자이크로 가공된 Client ID와 Client Secret을 복사하여 편집기에 붙여넣습니다.나중에 설정 파일에 기술합니다.
구성 파일에 Celient ID 및 Celient Secret 등록
Facade의 설정은 Laravel Socialite에 등록됩니다.services.php
<?php
return [
    'github'   => [
        'client_id'     => 'xxx',
        'client_secret' => 'xxx',
        'redirect'      => 'http://localhost:8000/github/login',
    ]
];
config/services.php와 client_id는 방금 복사한 것입니다.client_secret에 등록할 때 입력한 redirect를 기술합니다.어.. 응.나는 이런 설정치를 공유하고 싶지 않다.Laavel은 Ruby
Authorization callback URL와 비슷한 기능을 가지고 있으니 다시 써 보십시오.services.php
<?php
return [
    'github'   => [
        'client_id'     => getenv('GITHUB_CLIENT_ID'),
        'client_secret' => getenv('GITHUB_CLIENT_SECRET'),
        'redirect'      => 'http://localhost:8000/github/login',
    ]
];
dotenv라는 서류를 작성한다.그리고 다음과 같이 설정합니다..env
GITHUB_CLIENT_ID=XXXXXXXXXXX
GITHUB_CLIENT_SECRET=XXXXXXXXXXXXXXXXX
.env 파일은 서로 다른 환경에서 포함하지 않으려는 설정값과 버전 관리를 설정하기 위한 것입니다.여기에 설정된 값은 .env 함수를 사용하여 얻을 수 있습니다.여기서 끝내도록 설정합니다.설치를 시작합시다.
소셜 로그인을 시도해 보세요.
아주 간단합니다.
getenv 가볍게 쓸 수 있습니다.routes.php
<?php
Route::pattern('provider', 'github');
Route::get('/', function()
{
    if (!Auth::check()) {
        // ログイン済でなければリダイレクト
        return 'こんにちは ゲストさん. ' . link_to('github/ahthorize', 'Github でログイン.');
    }
    return 'ようこそ ' . Auth::user()->username . 'さん!';
});
Route::get('{provider}/authorize', function($provider)
{
    // ソーシャルログイン処理
    return \Socialite::with($provider)->redirect();
});
Route::get('{provider}/login', function($provider)
{
    // ユーザー情報取得
    $userData = Socialite::with($provider)->user();
    // ユーザー作成
    $user = User::firstOrCreate([
            'username' => $userData->nickname,
            'email'    => $userData->email,
            'avatar'   => $userData->avatar
    ]);
    Auth::login($user);
    return redirect('/');
});
app/Http/routes.php에 액세스하고 로그인하지 않은 경우'/' 리디렉션github/authorize\Socialite::with($provider)->redirect()로 설정되었을 때 Authorization callback URL로 호출하여 사용자를 얻기드라이버를 개별적으로 설치
지금 쓰고 있어요.미안합니다.업데이트 후에 알려드릴게요. 저장해 주시겠어요?삐라
썼어.1년간의 복수.
Laavel Socialite의 독립 실행형 드라이버 설치
내일은 @syossan27씨의 "Laavel로 몇 가지 서비스를 해보면"입니다.기대해주세요!
Reference
이 문제에 관하여(Laavel Socialite로 간단한 소셜 로그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/localdisk/items/2e2724f31864fd49b675텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)