mckenziearts / laravel-oauth
为Laravel 5提供社交OAuth认证的功能,驱动:Facebook、Twitter、Google、LinkedIn、Github
Requires
- illuminate/support: ~5
- laravel/socialite: ^3.0
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-08-29 04:48:32 UTC
README
简介
Laravel 5的社交OAuth认证,提供PHP 5.3+的oAuth支持,易于集成到任何需要oAuth客户端的项目中。本包使用Laravel Socialite。对于Laravel 4,请看这个包
支持的服务
该库支持OAuth 2.0兼容的服务。以下列出了目前实现的服务,更多服务将很快实现。
包含的服务实现
- OAuth2
- GitHub
- Bitbucket
- Dribbble
- Youtube
- Gitlab
- 更多即将到来!
Laravel支持版本
安装
- 使用Composer将包包含到您的项目中
$ composer require mckenziearts/laravel-oauth
-
将服务提供者添加到您的
config/app.php
提供者数组中对于Laravel 5.5.+ - 完成即可。
Mckenziearts\LaravelOAuth\LaravelOAuthServiceProvider::class,
- 运行以下命令发布供应商资源文件
php artisan vendor:publish --provider="Mckenziearts\LaravelOAuth\LaravelOAuthServiceProvider"
- 现在我们已经将一些新文件发布到我们的应用程序中,我们需要使用以下命令重新加载它们
composer dump-autoload
配置
当您发布供应商资产时,您在config
文件夹中添加了一个新文件,名为config/laravel-oauth.php
。此文件包含了一组配置,您可以使用它来配置使用社交网络的连接。
首先,您必须添加服务,如Socialite官方文档中定义的那样在此处提供。只需为您的应用程序设置Oauth服务。Laravel/socialite将由本包自动安装。
使用
- 首先,在
config/laravel-oauth.php
文件中,您必须定义默认的用户表名称以简化迁移。默认情况下,使用用户表
'users' => [ 'table' => 'users', ],
- 其次,您必须在
providers
数组中指定用于社交登录的提供者。要激活提供者,将值设置为true
'providers' => [ 'facebook' => true, 'google' => true, 'github' => true, ],
最后一个配置是通过编辑类名和添加或删除图标来美化按钮
然后,如果您想重新发布laravel-oauth资源、配置和迁移,请运行以下命令
php artisan vendor:publish --tag=laravel-oauth.assets --force
php artisan vendor:publish --tag=laravel-oauth.config --force
php artisan vendor:publish --tag=laravel-oauth.migrations --force
- 接下来,确保您有最新的数据库模式,运行以下命令
php artisan migrate
- 在您的
master.blade.php
文件中包含一个标题yield。在master或app.blade.php的头部添加以下内容
@yield('css')
- 将blade指令添加到您想显示社交按钮的视图中。该指令接受一个参数
login
以显示登录文本或resgister
以显示与注册相关的文本
@socialite('login')
- 通过在
@yield('css')
中添加此内容到您的视图中,该内容定义在您的master布局中,来添加按钮的样式
@section('css')
<link href="{{ url('/vendor/mckenziearts/laravel-oauth/assets/css/socialite.css') }}" rel="stylesheet">
@endsection
- 在您的应用程序的
Auth\LoginController
中添加OAuthSocialite
特性
namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Mckenziearts\LaravelOAuth\Traits\OAuthSocialite; class LoginController extends Controller { use OAuthSocialite; ..
使用此功能,如果您想进一步自定义,可以覆盖特性上的现有方法
- 将以下路由添加到您的默认web路由文件中
Route::get('/auth/{provider}', 'Auth\LoginController@redirectToProvider'); Route::get('/callback/{provider}', 'Auth\LoginController@handleProviderCallback');
变更日志
请参阅changelog.md获取最近变更的详细信息。
测试
$ composer test
贡献
请参阅contributing.md获取详细信息及待办事项清单。
安全性
如果您发现任何安全相关的问题,请通过电子邮件monneylobe@gmail.com反馈,而不是使用问题跟踪器。
鸣谢
许可证
MIT。请参阅license.md获取更多信息。