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

DenSul/oautwitube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);  
}

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

Releases

No releases published

Packages

No packages published

Languages