askedio / laravel-multiauth
此包已被废弃且不再维护。未建议替代包。
使用多个来源进行认证。
v1.2
2016-05-30 01:00 UTC
Requires
- php: >=5.5.9
- laravel/framework: 5.2.*
- laravel/socialite: ^2.0
This package is not auto-updated.
Last update: 2020-01-24 16:17:26 UTC
README
Laravel Multi Auth
使用电子邮件/密码、电子邮件链接、Socialite和自定义驱动程序对Laravel 5应用程序进行认证。演示 & 示例应用程序。
此包通过自定义守卫、视图和路由扩展了默认的认证系统。
安装
使用Composer安装。
composer require askedio/laravel-multiauth
启用
编辑config/app.php
注册provider
和alias
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=