simplesamlphp/simplesamlphp-module-yubikey

一个SimpleSAMLphp模块,用于支持YubiKey设备。

安装: 954

依赖: 0

建议者: 0

安全: 0

星星: 5

关注者: 6

分支: 2

开放问题: 1

类型:simplesamlphp-module

v1.0.0 2023-01-23 19:49 UTC

This package is auto-updated.

Last update: 2024-08-26 17:29:40 UTC


README

Build Status Coverage Status Scrutinizer Code Quality Type Coverage Psalm Level

这是一个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