sotechnology/nova-google2fa

carloscgo/nova-google2fa 的分支,以便与 PHP 7.4 兼容

2.0.6 2021-06-03 16:25 UTC

README

此包强制 Laravel Nova 使用双因素认证。

由于没有其他可用的包与 PHP 7.4 兼容,不得不进行分支操作

主要问题是

pragmarx/google2fa-laravel: ^0.2.0

这需要更新

以下为原始文档

从 0.0.7 升级到 1.0.0

升级指南可在 此处 查找。

流程

激活

  • 用户获得恢复码。

Recovery codes

  • 用户在其设备上激活双因素认证。

Activate 2FA

验证

  • 用户使用双因素认证验证登录。

Enter 2FA

恢复

  • 如果用户输入无效码,将显示恢复按钮。

Enter 2FA

  • 用户输入恢复码。

Enter 2FA

  • 用户将被重定向到激活过程。

安装

通过 composer 安装

$ composer require carloscgo/nova-google2fa

发布配置和迁移文件

$ php artisan vendor:publish --provider="CarlosCGO\Google2fa\ToolServiceProvider"

运行迁移

$ php artisan migrate

将关系添加到用户模型

use CarlosCGO\Google2fa\Models\User2fa;

...

/**
 * @return HasOne
 */
public function user2fa(): HasOne
{
    return $this->hasOne(User2fa::class);
}

将中间件添加到 nova.config

[
    ...
    'middleware' => [
        ...
        \CarlosCGO\Google2fa\Http\Middleware\Google2fa::class,
        ...
    ],
]

配置

return [
    /**
     * Disable or enable middleware.
     */
    'enabled' => env('GOOGLE_2FA_ENABLED', true),

    'models' => [
        /**
         * Change this variable to path to user model.
         */
        'user' => 'App\User',
    ],
    'tables' => [
        /**
         * Table in which users are stored.
         */
        'user' => 'users',
    ],

    'recovery_codes' => [
        /**
         * Number of recovery codes that will be generated.
         */
        'count'          => 8,

        /**
         * Number of blocks in each recovery code.
         */
        'blocks'         => 3,

        /**
         * Number of characters in each block in recovery code.
         */
        'chars_in_block' => 16,

        /**
         * The following algorithms are currently supported:
         *  - PASSWORD_DEFAULT
         *  - PASSWORD_BCRYPT
         *  - PASSWORD_ARGON2I // available from php 7.2
         */
        'hashing_algorithm' => PASSWORD_BCRYPT,
    ],
];

安全性

如果您发现任何安全相关的问题,请通过电子邮件联系作者,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证。有关更多信息,请参阅 许可证文件