simplesamlphp / simplesamlphp-module-yubikey
一个SimpleSAMLphp模块,用于支持YubiKey设备。
v1.0.0
2023-01-23 19:49 UTC
Requires
- php: >=7.4 || ^8.0
- enygma/yubikey: ^3.3
- simplesamlphp/composer-module-installer: ^1.3.2
- simplesamlphp/simplesamlphp: ^2.0.0-rc2
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-26 17:29:40 UTC
README
这是一个SimpleSAMLphp模块,利用YubiKey设备以不同的方式验证用户。目前,它提供了一个认证处理过滤器,允许您要求用户使用YubiKey完成认证,有效地实现双因素认证。这个过滤器可以与任何其他认证源结合使用,前提是用户的注册标识符(或标识符)作为属性可用。
安装
安装SimpleSAMLphp后,安装此模块非常简单。只需在SimpleSAMLphp安装根目录中执行以下命令
vendor/bin/composer require simplesamlphp/simplesamlphp-module-yubikey
然后,您需要启用Yubikey模块:在config.php
中搜索module.enable
键,并将yubikey
设置为true
'module.enable' => [ 'yubikey' => true, … ],
OTP认证处理过滤器
此过滤器允许您在继续之前请求YubiKey认证。与其他处理过滤器一样,它可以在一般配置、authsources、托管IdP元数据或远程SP元数据中进行配置。请参阅文档。
您可以通过添加一个具有yubikey:OTP
类的authproc过滤器来配置过滤器。至少,您需要一个API客户端标识符和一个API密钥。默认情况下,过滤器将允许您使用YubiCloud,这需要您注册以获取客户端标识符和API密钥。
如果您想自己运行YubiKey验证服务器(即运行API的服务器),您也可以这样做(您也可以这样做)。在这种情况下,您需要配置验证服务器的域名而不是默认地址。
以下是所有可用的选项
API配置选项
api_client_id
:向API呈现的客户端标识符。此选项是必填项
。api_key
:授予您访问YubiKey API的密钥。此选项是必填项
。api_hosts
:一个包含可以联系以验证给定YubiKey的API的主机的数组。请注意,将查询所有主机,并且所有响应都必须成功才能认为设备认证成功。因此,如果您想使用自己的具有高可用性的API,您应在此处仅指定一个主机名并为此主机名配置高可用性设置。此选项为可选,默认为Yubico的公共API服务器,如下所示:api.yubico.com
操作配置选项
abort_if_missing
:一个布尔值,指示是否应在用户没有注册YubiKey设备时(设置为true
)中断整个登录过程或继续,跳过YubiKey认证(设置为false
)。可选。默认为false
。key_id_attribute
:这是一个属性的名称,用于存储一个或多个用户已知和接受的YubiKey设备标识符。可选。默认值为yubikey
。
保证配置选项
assurance_attribute
:这是一个属性的名称,我们将使用它来表示已成功使用YubiKey设备进行认证(当然,只有当认证成功时)。可选。默认值为eduPersonAssurance
。assurance_value
:这是我们将添加到由assurance_attribute
指定的属性的值。可选。默认值为OTP
。