askedio/laravel-multiauth

此包已被废弃且不再维护。未建议替代包。

使用多个来源进行认证。

v1.2 2016-05-30 01:00 UTC

This package is not auto-updated.

Last update: 2020-01-24 16:17:26 UTC


README

screen shot

Laravel Multi Auth

使用电子邮件/密码、电子邮件链接、Socialite和自定义驱动程序对Laravel 5应用程序进行认证。演示 & 示例应用程序

此包通过自定义守卫、视图和路由扩展了默认的认证系统。

安装

使用Composer安装。

composer require askedio/laravel-multiauth

启用

编辑config/app.php

注册provideralias

 Askedio\MultiAuth\MultiAuthServiceProvider::class,
'MultiAuth' => Askedio\MultiAuth\Facades\MultiAuth::class,

发布和迁移

请注意:需要为users表添加一些新字段以及一个用于令牌的

php artisan vendor:publish
php artisan migrate

Laravel Auth

创建Laravel认证系统。

php artisan make:auth

配置路由

编辑app/Http/routes.php

添加以下行。

MultiAuth::route();

配置用户模型

编辑app/User.php

fillable改为只读。

protected $fillable = [
      'name', 'email', 'password', 'avatar', 'nickname', 'confirmed',
];

添加oauth关系。

public function oauth()
{
    return $this->hasMany(\Askedio\MultiAuth\Models\UserOauth::class);
}

配置认证守卫和提供者

编辑config/auth.php

添加到guards数组中

'multiAuth' => [
    'driver'   => 'session',
    'provider' => 'multiAuth',
],

添加到providers数组中

'multiAuth' => [
    'driver' => 'multiAuth',
    'model'  => App\User::class,
],

配置您的模板

编辑resources/views/auth/login.blade.php

multiauth::login登录表单替换内容。

@extends('layouts.app')

@section('content')
  @include('multiauth::login')
@endsection

配置Socialite

编辑config/services.php

添加您想要的所有服务。

'facebook' => [
    'client_id'     => env('FACEBOOK_CLIENT_ID'),
    'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
    'redirect'      => env('APP_URL').'/auth/facebook/callback',
],

编辑.env并添加所有设置。

FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRET=