lcloss/simple-auth

新 Laravel 项目的认证界面

安装次数: 11

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

语言:CSS

类型:package

0.0.9 2023-10-07 15:30 UTC

This package is auto-updated.

Last update: 2024-09-07 17:31:50 UTC


README

SimpleAuth 是一个与 Laravel Fortify 一起快速创建认证界面的包。它为 Laravel 10 设计,但可能与其他版本兼容。使用此包,您可以登录、注册、恢复密码并处理电子邮件验证。

安装

  1. 使用 composer 安装包

    composer require lcloss/simple-auth
  2. 发布配置文件

    php artisan vendor:publish --provider="Lcloss\SimpleAuth\SimpleAuthServiceProvider"
  3. 发布 Fortify 文件

    php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider"
  4. 在 Fortify 配置文件中注册 loginregister 视图

    // app\Providers\FortifyServiceProvider.php
    public function boot(): void
    {
        /* Login */
        Fortify::loginView(function () {
            return view( config('simple-auth.views.login') );
        });
    
        /* Register */
        Fortify::registerView(function () {
            return view(config('simple-auth.views.register'));
        });
    
        // Forgot Password view
        Fortify::requestPasswordResetLinkView(function () {
            return view(config('simple-auth.views.forgot-password'));
        });
    
        // Reset password view
        Fortify::resetPasswordView(function ($request) {
            return view(config('simple-auth.views.reset-password'), ['request' => $request]);
        });
    
        // Verify email view
        Fortify::verifyEmailView(function () {
            return view(config('simple-auth.views.verify-email'));
        });
    
        // Confirm password view
        Fortify::confirmPasswordView(function () {
            return view(config('simple-auth.views.confirm-password'));
        });
  5. 从姓氏和名字创建用户名

注意,此版本的注册界面包含姓氏和名字。用户表中有一个 name 字段,您可以使用它来存储全名。

将创建新用户的操作改为从姓氏和名字创建名字

    // app/Actions/Fortify/CreateNewUser.php
        Validator::make($input, [
            'first_name' => ['required', 'string', 'max:255'],
            'last_name' => ['nullable', 'string', 'max:255'],
            'email' => [
                'required',
                'string',
                'email',
                'max:255',
                Rule::unique(User::class),
            ],
            'password' => $this->passwordRules(),
            'password_confirmation' => ['required', 'same:password'],
        ])->validate();
        
        $name = trim($input['first_name'] . ' ' . $input['last_name']);
  1. 检查 config/app.php 中的 FortifyServiceProvider

    // config/app.php
    'providers' => [
        // ...
        App\Providers\FortifyServiceProvider::class,
    ],
  2. 使用种子进行迁移

    php artisan migrate --seed
  3. 执行 npm installnpm run dev 命令。

  4. 在浏览器中打开您的项目,并转到 /login/register 以查看新视图。

提示:第一次注册将是超级用户。

配置

您可以通过编辑 config/simple-auth.php 文件来更改此包的配置。

待办事项

  • 添加测试
  • 添加翻译