gurinder / laravel-auth
Laravel认证系统 - 包含UI
1.0.4
2018-07-23 15:57 UTC
Requires
- php: ^7.1.3
- abraham/twitteroauth: ^0.7.4
- facebook/graph-sdk: ^5.6
- google/apiclient: ^2.2
- illuminate/auth: ^5.6
- illuminate/cache: ^5.6
- illuminate/container: ^5.6
- illuminate/contracts: ^5.6
- illuminate/database: ^5.6
- illuminate/events: ^5.6
- illuminate/pagination: ^5.6
- illuminate/routing: ^5.6
- illuminate/validation: ^5.6
- illuminate/view: ^5.6
- laravel/socialite: ^3.0
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is not auto-updated.
Last update: 2024-09-15 23:00:33 UTC
README
它自带Google、Facebook、Github和Twitter(通过电子邮件和姓名登录或注册)。
安装
步骤 1
通过Composer包含
composer require gurinder/laravel-auth
步骤 2(可选)
发布视图(如有必要进行自定义),配置(可选)
// Optional php artisan vendor:publish --tag="gauth::views" // Optional php artisan vendor:publish --tag="gauth::config"
步骤 3
将以下内容添加到您的用户模型模式中
Schema::create('users', function (Blueprint $table) { ... $table->boolean('email_verified')->default(false); $table->string('email_verification_token')->nullable(); ... });
步骤 4
获取您应用程序的客户端ID和密钥,并将其放入.env文件中
FACEBOOK_APP_ID= FACEBOOK_APP_SECRET= SOCIALITE_FACEBOOK_CALLBACK="/socialite/facebook/callback" TWITTER_CLIENT_ID= TWITTER_CLIENT_SECRET= TWITTER_ACCESS_TOKEN= TWITTER_ACCESS_SECRET= SOCIALITE_TWITTER_CALLBACK="/socialite/twitter/callback" GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GOOGLE_DEVELOPER_KEY= SOCIALITE_GOOGLE_CALLBACK="${APP_URL}/socialite/google/callback" GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= SOCIALITE_GITHUB_CALLBACK="/socialite/github/callback"
步骤 5
将社交提供者添加到config/service.php
return [ // .... 'twitter' => [ 'client_id' => env('TWITTER_CLIENT_ID'), 'client_secret' => env('TWITTER_CLIENT_SECRET'), 'redirect' => env('SOCIALITE_TWITTER_CALLBACK'), 'access_token' => env('TWITTER_ACCESS_TOKEN'), 'access_secret' => env('TWITTER_ACCESS_SECRET'), ], 'github' => [ 'client_id' => env('GITHUB_CLIENT_ID'), 'client_secret' => env('GITHUB_CLIENT_SECRET'), 'redirect' => env('SOCIALITE_GITHUB_CALLBACK'), ], 'facebook' => [ 'client_id' => env('FACEBOOK_APP_ID'), 'app_id' => env('FACEBOOK_APP_ID'), 'client_secret' => env('FACEBOOK_APP_SECRET'), 'redirect' => env('SOCIALITE_FACEBOOK_CALLBACK'), ], 'google' => [ 'recaptcha_site_key' => env('GOOGLE_RECAPTCHA_SITE_KEY'), 'recaptcha_secret_key' => env('GOOGLE_RECAPTCHA_SECRET_KEY'), 'client_id' => env('GOOGLE_CLIENT_ID'), 'client_secret' => env('GOOGLE_CLIENT_SECRET'), 'developer_key' => env('GOOGLE_DEVELOPER_KEY'), 'redirect' => env('SOCIALITE_GOOGLE_CALLBACK') ] ];
步骤 6
配置插件:注意:请确保数据库中存在默认角色(如果您想的话,也可以使用gurinder/laravel-acl)
return [ // Open or Close Registration 'registration_open' => true, // Name fields to Register, make sure it matches with your user model 'registration_name_fields' => [ // 'name' 'first_name', 'last_name', ], // validation rules for registeration // Note: Do not delete data field, its required for registration 'registration_validateion_rules' => [ 'first_name' => 'required|string', 'last_name' => 'required|string', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6|max:255|confirmed', 'data' => 'string' // Do not delete this field ], // Redirect path after user is successfulle logged in 'redirect_path_after_login' => '/login-successful', // Redirect path after user is successfulle reseted password 'redirect_path_after_password_reset' => '/password-reset-done', // Redirect path after user registered and email confiremed via mail 'redirect_path_after_email_confirmation' => '/email-is-confirmed', // User model must have a method $user->assignRole($roles) // in order to this works // And it must accept role slug, role id, roles array, role instance // NOTE -> make sure this role exist in database 'default_roles' => ['subscriber'], // Email configuration to send welcome and confirmation(email) emails to user 'email_from' => [ 'name' => 'Gurinder Laravel Auth', 'email' => 'noreply@example.com' ] ];
登录过程
- 用户来到登录页面
- 在填写登录表单后,用户将被重定向到
redirect_path_after_login - 或者如果用户点击社交提供者,并且用户电子邮件已存在,那么用户也将登录并被重定向到
redirect_path_after_login
注册过程
- 用户来到注册页面
- 在填写注册表单后,用户将收到电子邮件确认以确认电子邮件
- 在电子邮件确认后,用户将被重定向到
redirect_path_after_email_confirmation - 或者如果用户点击社交提供者
- 情况 1.如果用户电子邮件已存在,则用户也将登录并被重定向到
redirect_path_after_login - 情况 2.在社交提供者回调之后,新用户将被重定向到选择密码的视图,完成后用户将登录,电子邮件将自动验证并重定向到
redirect_path_after_login
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。