安装
编辑本页安装
先决条件
的文档欧宝官网下载appSchebTwoFactorBundle版本6.这个bundle版本是兼容Symfony 5.4或Syob娱乐下载mfony 6.x.
如果您使用Doctrine ORM以外的任何东西来管理用户实体,则必须实现一个持续程序服务.
安装
步骤1:使用Composer安装
该包被组织成子存储库,因此您可以选择所需的确切特性集,并将安装的依赖项保持在最小值。
如果你在使用ob娱乐下载Symfony Flex,使用以下命令安装bundle via作曲家:
1
作曲家要求2fa
或者,使用以下Composer命令:
1
作曲家需要scheb/2fa-bundle
可选地,安装任何额外的包来扩展包的功能,根据您的需要:
1 2 3 4 5
编译器需要scheb/2fa-backup-code#添加备份代码功能编写器需要scheb/2fa-trusted-device#添加可信设备功能作曲家需要scheb/2fa-totp#添加使用TOTP的双因素认证Composer需要scheb/2fa-google-authenticator#使用谷歌Authenticator添加双因素身份验证作曲家需要scheb/2fa-email#使用电子邮件添加双重身份验证
步骤2:启用bundle
请注意
如果您使用的是Symfony Fob娱乐下载lex,这一步会自动执行。
在您的配置/ bundles.php
:
1 2 3 4
返回[/ /……Scheb \ TwoFactorBundle \ SchebTwoFactorBundle::Class => [“所有”= >真正的]];
步骤3:定义路由
请注意
如果您使用的是Symfony Fob娱乐下载lex,则会自动创建一个默认配置文件。但是要确保预配置的路径位于防火墙内模式
.
在配置/线路/ scheb_2fa.yaml
(如果不存在就创建文件)你需要添加两条路由:
- 双因素身份验证表单的路由
- 另一种检查双因素身份验证代码的路由
路由必须是位于路径内模式
防火墙,使用双因素认证。
1 2 3 4 5 6 7 8 9 10
#配置/线路/ scheb_2fa.yaml2 fa_login:路径:/ 2足总默认值:#“scheb_two_factor。Form_controller”引用bundle提供的控制器服务。#您不必使用它,但是-除非您有非常特殊的要求-建议使用它。_controller:“scheb_two_factor.form_controller:形式”2 fa_login_check:路径:/ 2 fa_check
如果您有多个具有双因素身份验证的防火墙,则每个防火墙都需要自己的登录和检查路由集,这些路由必须位于相关防火墙的路径中模式
.
步骤4:配置防火墙
启用双因素身份验证每一个防火墙和配置access_control
对于2fa路由:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#配置/包/ security.yaml安全:防火墙:your_firewall_name:two_factor:auth_form_path:2 fa_login#你在routes.yaml中使用的路由名check_path:2 fa_login_check#你在routes.yaml中使用的路由名这里显示的路径模式必须根据您的路线进行更新。#重要:将这些访问控制规则添加到列表的顶部!access_control:#这使得注销路由在双因素身份验证期间可访问。允许用户#取消双因素认证,如果他们需要。-{路径:^ /注销,角色:PUBLIC_ACCESS}#这可以确保表单只能在进行双因素身份验证时被访问。-{路径:^ / 2足总,角色:IS_AUTHENTICATED_2FA_IN_PROGRESS}#其他规则可能会遵循这里…
中可以找到更多每个防火墙的配置选项配置引用.
步骤5:配置安全令牌
您的防火墙可能提供不同的登录方式。默认情况下(没有任何配置),bundle只监听这些令牌:
ob娱乐下载
(用户名+密码身份验证)\组件 \安全 \核心 \身份验证 \令牌 \ UsernamePasswordToken ob娱乐下载
(验证者使用的默认令牌)\组件 \安全 \ Http \身份 \令牌 \ PostAuthenticationToken
方法中注册它的令牌类,以支持双因素身份验证scheb_two_factor.security_tokens
配置选项。
1 2 3 4 5 6
#配置/包/ scheb_2fa.yamlscheb_two_factor:security_tokens:-ob娱乐下载Symfony组件\ \安全\ \牌\ UsernamePasswordToken核心\身份验证-ob娱乐下载Symfony组件\ \安全\ Http \ \牌\ PostAuthenticationToken身份-Acme \ AuthenticationBundle \ \ CustomAuthenticationToken象征
步骤6:启用双因素认证方法
如果您已经安装了任何作为子包提供的双因素身份验证方法,则必须分别启用它们。阅读如何做到这一点:
scheb / 2 fa-totp
你觉得身份验证scheb / 2 fa-google-authenticator
谷歌身份验证scheb / 2 fa-email
Code-via-Email身份验证