lartie / attach-social-account
用于将社交账户连接到 Laravel 5.2 用户的包
v0.1.1
2016-08-04 06:21 UTC
This package is not auto-updated.
Last update: 2024-09-14 18:53:06 UTC
README
安装
Composer
composer require lartie/attach-social-account
服务提供者
将包添加到您的应用程序服务提供者在 config/app.php
文件中。
'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, ],
配置文件和迁移
将包配置文件和迁移发布到您的应用程序。在终端中运行以下命令。
php artisan vendor:publish
并运行迁移。
php artisan migrate
这使用的是 Laravel 中的默认用户表。您应该已经有用户表的迁移文件并且已经迁移。
HasSocialAccount 特性和契约
包括 HasSocialAccount
特性,并在您的 User
模型中实现 HasSocialAccount
契约。
use LArtie\AttachSocialAccount\Core\Traits\HasSocialAccount; use LArtie\AttachSocialAccount\Core\Contracts\HasSocialAccount as HasSocialAccountContract; class User extends Authenticatable implements HasSocialAccountContract { use HasSocialAccount;
这就完成了!
用法
$user = User::first(); $vkData = [ 'token' => 'token', 'uid' => 'user_id', 'nickname' => 'username', 'name' => 'first name and last name', 'email' => 'example@gmail.com', 'avatar' => 'link_to', ];
创建社交网络
$socialNetwork = SocialNetworks::create([ 'provider' => 'vkontakte', 'short_name' => 'vk' ]);
连接社交账户
$user->attachSocialAccountById($socialNetwork->id, $vkData);
或
$user->attachSocialAccountByShortName('vk', $vkData);
或
$user->attachSocialAccountByProvider('vkontakte', $vkData);
断开社交账户
$user->detachSocialAccountById($socialNetwork->id);
或
$user->detachSocialAccountByShortName('vk');
或
$user->detachSocialAccountByProvider('vkontakte');
检查
$user->hasSocialAccountById($socialNetwork->id);
或
$user->hasSocialAccountByShortName('vk');
或
$user->hasSocialAccountByProvider('vkontakte');
Blade 扩展
@providerExists('vkontakte') { // see detach button, etc.. } @providerNotExists('vkontakte') { // see attach button, etc.. }
有关更多信息,请访问特性
HasSocialAccount
或契约HasSocialAccount
许可
此软件包是免费软件,根据 MIT 许可证条款分发。