silinternational/simplesamlphp-module-expirychecker

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

simpleSAMLphp模块,用于提醒用户他们的密码即将到期或已经过期。

3.1.4 2024-02-28 19:07 UTC

README

此存储库不再维护。它已被直接包含在 https://github.com/silinternational/ssp-base 中。

--

ExpiryChecker simpleSAMLphp 模块

一个simpleSAMLphp模块,用于提醒用户他们的密码即将到期或已经过期。

注意:此模块不会阻止用户登录。它只是显示一个警告页面(如果密码即将过期),用户可以选择立即更改密码或稍后更改,或者告知用户密码已经过期,唯一的选择是立即更改密码。如果用户最近已经看过这两个页面之一,这两个页面都将被绕过(一段时间),以便用户可以访问更改密码网站(假设它也位于该IdP之后)。如果不应允许用户登录,simpleSAMLphp Auth. 源应考虑用户提供的凭据无效。

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

建议在IdP上运行ExpiryChecker模块,并将过滤器配置为在所有其他启用过滤器之前运行。

如何使用模块

只需在您的composer.json文件中包含simplesamlphp/composer-module-installer和此模块。composer-module-installer包将发现此模块并将其复制到simplesamlphp中的modules文件夹。

然后您需要在配置中设置过滤器参数。我们建议将其添加到metadata/saml20-idp-hosted.php文件中的'authproc'数组中,但您也可以将其放入config/config.php文件中的'authproc.idp'数组中。

示例(在metadata/saml20-idp-hosted.php中)

'authproc' => [
    10 => [
        // Required:
        'class' => 'expirychecker:ExpiryDate',
        'accountNameAttr' => 'cn',
        'expiryDateAttr' => 'schacExpiryDate',
        'passwordChangeUrl' => 'https://idm.example.com/pwdmgr/',

        // Optional:
        'warnDaysBefore' => 14,
        'originalUrlParam' => 'originalurl',
        'dateFormat' => 'm.d.Y', // Use PHP's date syntax.
        'loggerClass' => '\\Sil\\Psr3Adapters\\Psr3SamlLogger',
    ],
    
    // ...
],

accountNameAttr参数表示包含用户账户名称的SAML属性名称。在特定情况下,此名称将显示给用户,并用于日志消息。

expiryDateAttr参数表示包含用户过期日期的SAML属性名称,必须格式化为YYYYMMDDHHMMSSZ(例如,20111011235959Z)。这两个属性必须是用户成功认证时返回的属性集的一部分。

warnDaysBefore参数应是一个整数,表示在过期日期之前多少天向用户显示“即将过期”警告。

dateFormat参数指定了您希望如何格式化日期,使用PHP date()语法。请参阅https://php.ac.cn/manual/en/function.date.php

参数loggerClass指定了一个PSR-3兼容的类名,这个类可以被自动加载,用于在ExpiryDate中作为日志记录器。

贡献

要贡献力量,请在以下链接提交问题或拉取请求:https://github.com/silinternational/simplesamlphp-module-expirychecker

致谢

此内容改编自ssp-iidp-expirycheckexpirycheck模块。感谢Alex Mihičinac、Steve Moitozo和Steve Bagwell对这两个模块所做的初步工作。