tvdijen/simplesamlphp-module-cmdotcom

此软件包已被废弃且不再维护。未建议替代软件包。

短信作为第二因素模块

安装: 447

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:simplesamlphp-module

v1.4.1 2023-02-22 21:14 UTC

This package is auto-updated.

Last update: 2024-07-13 20:24:45 UTC


README

Build Status Coverage Status Scrutinizer Code Quality Type Coverage Psalm Level

注意

此模块自2024年6月13日起已被废弃。它仍然可以使用,我不介意重新启用它,但我的个人使用场景已不存在。如果您需要此模块,请随时联系我,我们可以共同解决问题。

此模块作为认证处理过滤器实现。这意味着它可以在全局config.php文件或SP远程或IdP托管元数据中进行配置。

先决条件

要使用此模块,您必须在CM.com注册以获取其RESTful API的API密钥。

如何设置模块

首先,您需要启用模块;在config.php中,搜索module.enable密钥,并添加cmdotcom,值设置为true

    'module.enable' => [
         'cmdotcom' => true,
         …
    ],

为了在此模块中处理通行码短信,您需要设置必填的API密钥,以与CM.com RESTful API交互,在productToken设置中。

您可以可选地设置mobilePhoneAttribute为包含用户手机号码的属性的名称。如果此设置未设置,则默认属性为mobile

如果定义的上述属性对于用户不可用,将显示错误消息,用户将不允许通过过滤器。请确保您选择所有用户都可用的属性。

默认情况下,短信将来自Example,但可以使用可选的originator设置进行更改。电话号码的最大长度为16位数字或11个字母数字字符[a-zA-Z0-9]。例如:'CMTelecom'。

另一个默认情况是,通过短信接收的OTP可以在三分钟内输入。可以通过配置可选的validFor设置来调整代码的有效时间(以秒为单位)。

最后,可以将OTP代码自动推送到手机应用。为此,将可选的allowPush设置为true,并将appKey设置为与您的手机应用匹配。

此模块使用libphonenumber-for-php来解析接收者的电话号码并将它们规范化。如果您遇到无法发送的短信,您可以尝试将您的defaultRegion设置为您的区域的CLDR双字母区域代码格式。

将过滤器添加到您的身份提供者托管元数据authproc过滤器列表中,指定您选择的属性。

    90 => [
        'class' => 'cmdotcom:OTP',
        'productToken' => 'secret',
        'mobilePhoneAttribute' => 'mobile',
        'originator' => 'CM Telecom',
        'validFor' => 600,
        'defaultRegion' => 'NL',
    ],

此设置完全不使用持久存储。这意味着用户每次登录时都总是需要输入通行码。