lartie / attach-social-account
Пакет для подключения аккаунтов социальный сетей к пользователю для Laravel 5.2
This package is not auto-updated.
Last update: 2024-12-21 20:19:36 UTC
README
Installation
Composer
composer require lartie/attach-social-account
Service Provider
Add the package to your application service providers in config/app.php
file.
'providers' => [ /* * Application Service Providers.. */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, ... /* * Extensions */ LArtie\AttachSocialAccount\ServiceProvider::class, ],
Config File And Migrations
Publish the package config file and migrations to your application. Run these commands inside your terminal.
php artisan vendor:publish
And also run migrations.
php artisan migrate
This uses the default users table which is in Laravel. You should already have the migration file for the users table available and migrated.
HasSocialAccount Trait And Contract
Include HasSocialAccount
trait and also implement HasSocialAccount
contract inside your User
model.
use LArtie\AttachSocialAccount\Core\Traits\HasSocialAccount; use LArtie\AttachSocialAccount\Core\Contracts\HasSocialAccount as HasSocialAccountContract; class User extends Authenticatable implements HasSocialAccountContract { use HasSocialAccount;
And that's it!
Usage
$user = User::first(); $vkData = [ 'token' => 'token', 'uid' => 'user_id', 'nickname' => 'username', 'name' => 'first name and last name', 'email' => 'example@gmail.com', 'avatar' => 'link_to', ];
Creating Social Network
$socialNetwork = SocialNetworks::create([ 'provider' => 'vkontakte', 'short_name' => 'vk' ]);
Attach Social Account
$user->attachSocialAccountById($socialNetwork->id, $vkData);
or
$user->attachSocialAccountByShortName('vk', $vkData);
or
$user->attachSocialAccountByProvider('vkontakte', $vkData);
Detach Social Account
$user->detachSocialAccountById($socialNetwork->id);
or
$user->detachSocialAccountByShortName('vk');
or
$user->detachSocialAccountByProvider('vkontakte');
Checking
$user->hasSocialAccountById($socialNetwork->id);
or
$user->hasSocialAccountByShortName('vk');
or
$user->hasSocialAccountByProvider('vkontakte');
Blade Extensions
@providerExists('vkontakte') { // see detach button, etc.. } @providerNotExists('vkontakte') { // see attach button, etc.. }
For more information visit trait
HasSocialAccount
or contractHasSocialAccount
License
This package is free software distributed under the terms of the MIT license.