statikbe / laravel-google-authenticate
Laravel中的Google身份验证
4.3.0
2024-03-13 07:28 UTC
Requires
- illuminate/routing: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
- laravel/socialite: ^5.6
Suggests
- doctrine/dbal: If you are using the provided migration you will need doctrine/dbal. You won't need this in Laravel versions >= 11
README
Google身份验证器
此模块为您提供了选项,让您(和您的用户)可以使用他们的Google账户在Laravel应用程序中登录。
最初,这是为了只允许来自某些工作空间的人登录。但可以启用以允许所有人登录。
安装
使用Composer
composer require statikbe/laravel-google-authenticate
用法
此包将自动注册自己。
您可以使用以下命令发布迁移
php artisan vendor:publish --provider="Statikbe\GoogleAuthenticate\GoogleAuthenticateServiceProvider" --tag="google-migrations"
要向数据库添加所需列,请运行
php artisan migrate
在您的User.php
类中添加use HasGoogleAuth
特质。这将为您提供的用户必要的可填充选项。
在您的.env文件中,您应该包括以下键
GOOGLE_CLIENT_ID="YOUR_GOOGLE_CLIENT_ID" GOOGLE_CLIENT_SECRET="YOUR_GOOGLE_CLIENT_SECRET" CALLBACK_URL_GOOGLE="https://www.domain.com/login/google/callback"
下一步是向您的services.php
配置文件中添加以下行
'google' => [ 'client_id' => env('GOOGLE_CLIENT_ID'), 'client_secret' => env('GOOGLE_CLIENT_SECRET'), 'redirect' => env('CALLBACK_URL_GOOGLE'), ],
有关如何创建Google身份验证客户端ID和密钥的信息可以在他们的文档页面中找到。
最后,您可以将Google登录路由添加到登录和注册视图中:{{ route('google.auth.login') }}
。
配置
发布配置文件
php artisan vendor:publish --provider="Statikbe\\GoogleAuthenticate\\GoogleAuthenticateServiceProvider" --tag="google-config"
电子邮件域名
您可以更改可以使用Google登录的电子邮件域名。以下三个选项是可用的
allowed
-数组:只有此数组中的域可以使用Google登录disabled
-数组:此数组中的域不能使用Google登录- 空/空值:所有域名都可以使用Google登录
'domains' => [ //'allowed' => ['statik.com'], //'disabled' => ['google.com'], ],
用户表
您可以自定义如何保存用户。配置数组user_columns
将为您的用户创建可填充的数据。数组键是您的用户列名,数组值是要存储的内容。(请确保值是数组)。您可以为每个键添加多个值,这些值将粘合在一起。以下值将填充Google返回的数据,在粘合之前。
const GOOGLE_VALUES = [ 'name', 'email_verified', 'email', 'given_name', 'family_name', 'picture', 'nickname', 'locale', ];
例如,在您的配置中
'user_columns' => [ 'name' => ['name', ' (', 'locale', ')'] // John Doe (en) 'email_verified_at' => ['email_verified'], // 2019-10-23 14:31:50 'email' => ['email'], // john@doe.com 'other data' => ['blablabla'], // blablabla ]
发布
您可以使用以下命令发布视图和翻译文件
php artisan vendor:publish --provider="Statikbe\\GoogleAuthenticate\\GoogleAuthenticateServiceProvider" --tag="google-views"
和
php artisan vendor:publish --provider="Statikbe\\GoogleAuthenticate\\GoogleAuthenticateServiceProvider" --tag="google-lang"
安全
如果您发现任何安全相关的问题,请通过电子邮件info@statik.be联系,而不是使用问题跟踪器。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。