首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel Fortify -如何生成双因子密钥?

Laravel Fortify -如何生成双因子密钥?
EN

Stack Overflow用户
提问于 2020-10-14 00:38:16
回答 2查看 564关注 0票数 0

我需要使用Laravel/Fortify以编程方式生成2FA密钥,但没有文档介绍如何做到这一点?

在我的User模型中,I am useing TwoFactorAuthenticable

代码语言:javascript
运行
复制
class User extends Authenticatable
{
    use TwoFactorAuthenticatable;

并且在config/fortity.php中启用了TwoFactorAuthentication

代码语言:javascript
运行
复制
'features' => [
    Features::twoFactorAuthentication([
        'confirmPassword' => true,
    ]),
],

我尝试过像这样的函数:

代码语言:javascript
运行
复制
// returns a "Call to undefined method" exception
$user->generateSecretKey();

// returns Decrypt error, presumably won't work without a secret set
$user->twoFactorQrCodeUrl();
$user->twoFactorQrCodeSvg();

有没有人破解了怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-14 00:44:12

在深入研究之后,我发现vendors/laravel/fortify/src/Http/Controllers中的TwoFactorAuthenticationController实际上在store()函数中有一个示例

当我在我的UserObserver中使用它时,它是这样工作的:

代码语言:javascript
运行
复制
use Laravel\Fortify\Actions\EnableTwoFactorAuthentication;

class UserObserver
{
    public function created(User $user, EnableTwoFactorAuthentication $enable)
    {
        $enable($user);
        ...
票数 1
EN

Stack Overflow用户

发布于 2021-07-27 19:13:11

从我的用户控制器...

代码语言:javascript
运行
复制
use Laravel\Fortify\Actions\EnableTwoFactorAuthentication;
// Add Two Factor Authentication to this User
if ($request->tfa) {
   $tfa = \App::make('Laravel\Fortify\Contracts\TwoFactorAuthenticationProvider');
   $enable = new EnableTwoFactorAuthentication($tfa);
   $myrc = $enable($user);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64339497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档