dustyrio / laravel-google-guard
完全依赖于Google登录且不持久化的Laravel认证保护器
Requires
- php: >=5.5.0
- laravel/framework: 5.3.*|5.4.*|5.5.*|5.6.*
- laravel/socialite: ^3.0
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: 3.7.*
README
完全依赖于Google登录且不持久化的Laravel认证保护器
概述
有时,你的小型应用程序根本不需要本地持久化用户存储库。在类似情况下,依赖于外部账户存储库,例如Google(如今,几乎每个人都拥有一个Google账户)会很不错?
此认证保护器依赖于Google令牌。每次您的应用程序需要认证用户时,它都会将用户重定向到Google,然后再返回。如果令牌有效,您的用户将被认为是应用程序中的已认证用户。
完全不进行持久化,仅进行一些会话缓存。
当然,如果您的应用程序是私有的,您还可以指定允许的Google用户或域名。
依赖关系
- Laravel Socialite
- Laravel 5.3.*
安装
首先使用Packagist安装该包
$ composer require dusterio/laravel-google-guard
将包服务提供者添加到您的 config/app.php
中的 providers
数组
Dusterio\LaravelGoogleGuard\Integrations\LaravelServiceProvider::class,
在此之后,您应该会看到两个额外的路由
$ php artisan route:list | GET|HEAD | auth/google | | Dusterio\LaravelGoogleGuard\Http\LoginController@redirectToProvider | guest,web | | GET|HEAD | auth/google/callback | | Dusterio\LaravelGoogleGuard\Http\LoginController@handleProviderCallback | guest,web |
在 config/auth.php
中配置保护器
'guards' => [ /// Your existing guards /// ... 'google' => [ /* * For consistency, return a dummy (not persisted) class holder. */ 'userClass' => '\App\User', /* * Remember users for this number of seconds. */ 'timeout' => 3600, /* * Users that can use the app. If left empty, everybody is allowed. */ 'whitelist' => [ 'admin@.', ] ] ]
在相同的文件 config/auth.php
中将其设置为默认保护器
'web' => [ 'driver' => 'google', 'provider' => 'users', ],
将您的Google密钥和密钥添加到 config/services.php
,例如:
'google' => [ 'client_id' => env('GOOGLE_CLIENT_ID'), 'client_secret' => env('GOOGLE_CLIENT_SECRET'), 'redirect' => env('APP_URL') . '/auth/google/callback', ],
这就完成了 - 您现在可以开始使用了!
许可
MIT许可
版权 (c) 2017 Denis Mysenko
特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人免费处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人做上述事情,前提是符合以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任(无论因合同、侵权或其他原因而产生)负责,无论该索赔、损害或其他责任是否源于、由或与软件或软件的使用或其他方式有关。