mckenziearts/laravel-oauth

为Laravel 5提供社交OAuth认证的功能,驱动:Facebook、Twitter、Google、LinkedIn、Github

安装: 165

依赖者: 0

建议者: 0

安全性: 0

星标: 52

关注者: 4

分支: 6

开放问题: 0

类型:laravel-package

1.0.6 2018-07-19 20:30 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:32 UTC


README

Latest Version on Packagist Total Downloads Build Status Scrutinizer Code Quality StyleCI

简介

Laravel 5的社交OAuth认证,提供PHP 5.3+的oAuth支持,易于集成到任何需要oAuth客户端的项目中。本包使用Laravel Socialite。对于Laravel 4,请看这个

支持的服务

该库支持OAuth 2.0兼容的服务。以下列出了目前实现的服务,更多服务将很快实现。

包含的服务实现

  • OAuth2
    • Facebook
    • GitHub
    • Google
    • Instagram
    • LinkedIn
    • Bitbucket
    • Twitter
    • Dribbble
    • Pinterest
    • Youtube
    • Gitlab
  • 更多即将到来!

Laravel支持版本

安装

  1. 使用Composer将包包含到您的项目中
$ composer require mckenziearts/laravel-oauth
  1. 将服务提供者添加到您的config/app.php提供者数组中

    对于Laravel 5.5.+ - 完成即可。

Mckenziearts\LaravelOAuth\LaravelOAuthServiceProvider::class,
  1. 运行以下命令发布供应商资源文件
php artisan vendor:publish --provider="Mckenziearts\LaravelOAuth\LaravelOAuthServiceProvider"
  1. 现在我们已经将一些新文件发布到我们的应用程序中,我们需要使用以下命令重新加载它们
composer dump-autoload

配置

当您发布供应商资产时,您在config文件夹中添加了一个新文件,名为config/laravel-oauth.php。此文件包含了一组配置,您可以使用它来配置使用社交网络的连接。

首先,您必须添加服务,如Socialite官方文档中定义的那样在此处提供。只需为您的应用程序设置Oauth服务。Laravel/socialite将由本包自动安装。

使用

  1. 首先,在config/laravel-oauth.php文件中,您必须定义默认的用户表名称以简化迁移。默认情况下,使用用户表
'users' => [
    'table'   => 'users',
],
  1. 其次,您必须在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
  1. 接下来,确保您有最新的数据库模式,运行以下命令
php artisan migrate
  1. 在您的master.blade.php文件中包含一个标题yield。在master或app.blade.php的头部添加以下内容
@yield('css')
  1. 将blade指令添加到您想显示社交按钮的视图中。该指令接受一个参数login以显示登录文本或resgister以显示与注册相关的文本
@socialite('login')
  1. 通过在@yield('css')中添加此内容到您的视图中,该内容定义在您的master布局中,来添加按钮的样式
@section('css')
    <link href="{{ url('/vendor/mckenziearts/laravel-oauth/assets/css/socialite.css') }}" rel="stylesheet">
@endsection
  1. 在您的应用程序的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;
    ..

使用此功能,如果您想进一步自定义,可以覆盖特性上的现有方法

  1. 将以下路由添加到您的默认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获取更多信息。