abidra / laravel-google-auth
Google OAuth认证的Laravel认证驱动
Requires
- php: >=5.3.0
- google/apiclient: 2.0.*
- illuminate/support: 5.4.*
This package is not auto-updated.
Last update: 2024-09-29 03:41:46 UTC
README
Laravel Google认证驱动
允许您使用Google来认证您的Laravel应用程序的用户。
安装
要获取cachebuster的最新版本,只需在composer.json文件中引入它。
注意:此包依赖于非Packagist包google-api-php-client,因此您需要在运行composer update或composer install之前,手动将以下存储库定义添加到项目的composer.json文件中
"repositories": [ { "type": "package", "package": { "name": "google/google-api-php-client", "version": "0.6.7", "dist": { "url": "http://google-api-php-client.googlecode.com/files/google-api-php-client-0.6.7.tar.gz", "type": "tar" }, "autoload": { "classmap": ["src/"] } } } ],
composer require themonkeys/laravel-google-auth:dev-master --no-update composer update themonkeys/laravel-google-auth
安装完包后,您需要将服务提供者注册到应用程序中。打开app/config/app.php并找到providers键。
删除AuthServiceProvider的行
'providers' => array( 'Illuminate\Auth\AuthServiceProvider', )
并替换为
'providers' => array( 'Themonkeys\LaravelGoogleAuth\LaravelGoogleAuthServiceProvider', )
要配置此包,可以使用以下命令将配置文件复制到app/config/packages/themonkeys/laravel-google-auth。
php artisan config:publish themonkeys/laravel-google-auth
或者您可以直接在文件夹中创建一个新文件,只覆盖您需要的设置。
设置本身在config.php中有文档说明。
要使您的配置仅适用于特定的环境,请将您的配置放在一个环境文件夹中,例如app/config/packages/themonkeys/laravel-google-auth/environment-name/config.php。
使用方法
要启用基于Google的认证,您首先需要选择'google'认证驱动。打开app/config/auth.php并编辑driver键
return array( 'driver' => 'google', );
对于Google认证,您需要在您的应用程序中添加一个登录页面,其中包含用户可以点击的链接以启动认证过程。最简单的方法是将以下内容添加到您的routes.php文件中
Route::get('/login', function() { return View::make('login', array( 'authUrl' => Auth::getAuthUrl() )); });
注意:getAuthUrl()在其他认证驱动中不存在,因此上述代码在其他驱动中会抛出错误。
然后使用{{ $authUrl }}作为login.blade.php视图中的链接的href
<a class='login' href='{{ $authUrl }}'>Connect Me!</a>
然后您需要将'before'过滤器'google-finish-authentication'添加到认证完成后Google重定向到的路由上。确保此过滤器首先应用,在auth过滤器之前 - 否则,auth过滤器将用户发送回登录页面,并且会丢失会话。
Route::group(array('before' => array('google-finish-authentication', 'auth')), function() { Route::get('/', 'HomeController@showWelcome'); });
添加应用程序的注销功能与任何其他认证驱动相同 - 只需将以下内容添加到您的routes.php中,然后在您需要的地方添加一个指向URI /logout的链接
Route::get('/logout', function() { Auth::logout(); return Redirect::to('/'); });
所有在Google_Userinfo对象中可用的信息都可通过Auth::user()返回的用户对象访问,例如Auth::user()->name
<table> <tr> <th>Your ID:</th><td>{{ Auth::user()->id }}</td> </tr> <tr> <th>Your Full Name:</th><td>{{ Auth::user()->name }}</td> </tr> <tr> <th>Your Given Name:</th><td>{{ Auth::user()->given_name }}</td> </tr> <tr> <th>Your Family Name:</th><td>{{ Auth::user()->family_name }}</td> </tr> <tr> <th>Your Email Address:</th><td>{{ Auth::user()->email }}</td> </tr> <tr> <td></td> <td>Your Email Address has @if (Auth::user()->verified_email) been <strong>verified</strong> @else <strong>not</strong> been verified @endif </td> </tr> <tr> <th>Your hosted domain:</th><td>{{ Auth::user()->hd }}</td> </tr> <tr> <th>Your Locale:</th><td>{{ Auth::user()->locale }}</td> </tr> </table>
贡献
在没有正式样式指南的情况下,请注意保持现有的编码风格。
许可证
MIT许可证(c) The Monkeys