备份代码
编辑本页备份代码
它的作用
备份码是一次性的认证码,可以代替实际的认证码使用。当身份验证设备不可用时,并且您必须通过双重身份验证过程时,它们意味着紧急代码。
启用配置中的特性:
1 2 3 4
#配置/包/ scheb_2fa.yamlscheb_two_factor:backup_codes:启用:真正的#是否启用备份代码功能
备份代码必须从用户对象中提供。用户实体必须实现Scheb \ TwoFactorBundle \ \ BackupCodeInterface模型
.这里有一个例子:
12 34 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
<?php名称空间Acme\演示\实体;使用学说\ORM\映射作为ORM;使用Scheb\TwoFactorBundle\模型\BackupCodeInterface;类用户实现了BackupCodeInterface{/ * * *@ORM\列(type = " json ") * /私人数组$backupCodes= [];/ /[…]/** *检查是否为有效的备份代码。* /公共函数isBackupCode(字符串$代码):保龄球{返回in_array ($代码,$这->backupCodes);}/** *使备份代码无效*/公共函数invalidateBackupCode(字符串$代码):无效{$关键函数的作用是=$代码,$这->backupCodes);如果($关键= = !假) {设置($这->backupCodes [$关键]);}}/** *添加备份代码*/公共函数addBackUpCode(字符串$backUpCode):无效{如果(!in_array ($backUpCode,$这->backupCodes)) {$这->backupCodes [] =$backUpCode;}}}
该示例假设已经为该用户生成了代码。除此之外,您应该根据自己的喜好实现备份代码(重新生成)。
自定义备份代码管理器
如果您不喜欢这种实现方式,您还可以拥有自己的备份代码管理器。创建服务实现Scheb
并在配置中注册它:
1 2 3 4
#配置/包/ scheb_2fa.yamlscheb_two_factor:backup_codes:经理:acme.custom_backup_code_manager使用自定义备份代码管理器
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。