Skip to content
This repository has been archived by the owner on May 28, 2021. It is now read-only.

Latest commit

 

History

History
94 lines (73 loc) · 3.63 KB

README.md

File metadata and controls

94 lines (73 loc) · 3.63 KB

oautwitube

Latest Stable Version Total DownloadsLatest Unstable Version License composer.lock available

Данный пакет предназначен для laravel 5.6+, для работы с API youtube.com и twitch.tv. В данное время доступна только oAuth авторизация и получение информации о текущем пользователе с этих ресурсов.

UPD: 23.07.2018 добавлена возможность авторизации по Steam. English soon

Установка

composer require densul/oautwitube

Затем добавить в файле config/app.php, добавить сервис-провайдер

densul\oautwitube\Providers\OautwitubeServiceProvider::class

Там же задать алиас:

'Twitube' => densul\oautwitube\Facades\OautwitubeServiceFacade::class

Далее создаем конфиг:

php artisan vendor:publish

Выбираем наш сервис провайдер После этого появится конфиг в /config/oautwitube-api.php

Для площадки youtube подтребуется включить API 3, здесь. Для площадки steam, ключ получаем тут здесь.

Использование

В шаблонизаторе:

<div class="links">
    <a href="{{ Twitube::driver('twitch')->AuthenticationURL() }}">Auth Twitch</a>
    <a href="{{ Twitube::driver('youtube')->AuthenticationURL() }}">Auth YouTube</a>
</div>

В случае стима, можно поставить кнопки уже с готовой ссылкой:

{!!  Twitube::driver('steam')->loginButton('small') !!} 
{!!  Twitube::driver('steam')->loginButton('big') !!}

<!--- simple link ---!>
Twitube::driver('steam')->AuthenticationURL()

Соответственно какой Вы задатите redirect_url в конфиге, создаем роуты:

Route::get('/auth', ['as' => 'auth', 'uses' => 'Auth\LoginController@twitchLogin']);
Route::get('/auth_youtube', ['as' => 'auth', 'uses' => 'Auth\LoginController@youtubeLogin']);
Route::get('/auth_steam', ['as' => 'auth', 'uses' => 'Auth\LoginController@steamLogin']);

В LoginController:

public function twitchLogin(Request $request)
{

    $code  = $request->input('code');
    $token = Twitube::driver('twitch')->RequestToken($code);
    $user  = Twitube::driver('twitch')->AuthenticatedUser($token);

    dd($user);
}

public function youtubeLogin(Request $request)
{
    $code   = $request->input('code');
    $token  = Twitube::driver('youtube')->RequestToken($code);
    $user   = Twitube::driver('youtube')->AuthenticatedUser($token);
    dd($user);
}

public function steamLogin(Request $request)
{
    $user = Twitube::driver('steam')->authenticatedUser();
    dd($user);  
}

Пока все, функционал буду дописывать по мере необходимости, следите за обновлениями.