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

Latest Stable Version Total Downloads Latest Unstable Version License composer.lock

安装

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 许可证条款分发。