silinternational / simplesamlphp-module-material
基于 SimpleSAMLphp 的 IdP Hub 材料设计主题
Requires
- php: >=7.0
- ext-json: *
- silinternational/ssp-utilities: ^1.0
- simplesamlphp/composer-module-installer: ^1.1.5
- simplesamlphp/simplesamlphp: ~1.18.6 || ~1.19.0
Requires (Dev)
- roave/security-advisories: dev-master
- dev-develop
- 8.1.2
- 8.1.1
- 8.1.0
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 7.6.2
- 7.6.1
- 7.6.0
- 7.5.1
- 7.5.0
- 7.4.3
- 7.4.2
- 7.4.1
- 7.4.0
- 7.3.9
- 7.3.8
- 7.3.7
- 7.3.6
- 7.3.5
- 7.3.4
- 7.3.3
- 7.3.2
- 7.3.1
- 7.3.0
- 7.2.1
- 7.2.0
- 7.1.0
- 7.0.0
- 6.1.0
- 6.0.0
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.0
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.1.1
- 3.1.0
- 3.0.0
- 2.3.1
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.0
- 1.0.2
- 1.0.1
- 1.0.0
- dev-master
- dev-feature/interum-design
- dev-feature/interum-layout
- dev-feature/update-selectidp-links
- dev-l10n_develop
- dev-feature/ssp-1-19
- dev-whitesource/configure
This package is auto-updated.
Last update: 2024-07-25 05:20:54 UTC
README
此仓库不再维护。它已被直接包含在 https://github.com/silinternational/ssp-base 中。
--
用于 SimpleSAMLphp 的材料设计主题
安装
composer.phar require silinternational/simplesamlphp-module-material:dev-master
配置
更新 /simplesamlphp/config/config.php
'theme.use' => 'material:material'
ssp-base 通过加载环境变量 THEME_USE
中的配置来提供便利。
Google reCAPTCHA
如果提供了 $this->data['recaptcha.siteKey']
中的站点密钥,用户名/密码页面可能需要用户证明其人性。
品牌
更新 /simplesamlphp/config/config.php
'theme.color-scheme' => ['indigo-purple'|'blue_grey-teal'|'red-teal'|'orange-light_blue'|'brown-orange'|'teal-blue']
登录页面寻找 /simplesamlphp/www/logo.png
,该文件默认不提供。
分析
更新 /simplesamlphp/config/config.php
'analytics.trackingId' => 'G-some-unique-id-for-your-site'
ssp-base 通过加载环境变量 ANALYTICS_ID
中的配置来提供便利。
公告
更新 /simplesamlphp/announcement/announcement.php
return 'Some <strong>important</strong> announcement';
ssp-utilities 提供由 /simplesamlphp/announcement/announcement.php
返回的内容。
如果提供,将向用户显示包含该公告内容的警报。支持 HTML。
测试主题
需要 Make、Docker 和 Docker Compose。
设置
- 设置
localhost
(或使用 Vagrant 时为192.168.62.54
)的别名,以指向ssp-hub1.local
、ssp-hub2.local
、ssp-idp1.local
、ssp-idp2.local
、ssp-idp3.local
、ssp-idp4.local
、ssp-sp1.local
和ssp-sp2.local
。这通常在/etc/hosts
中完成。 示例行:0.0.0.0 ssp-hub1.local ssp-idp1.local ssp-idp2.local ssp-idp4.local ssp-hub2.local ssp-idp3.local ssp-sp1.local ssp-sp2.local
- 启动测试环境,即从命令行运行
make
。
枢纽页面
- 转到 枢纽 1
错误页面
- 转到 枢纽 1
- 点击 联盟 选项卡
- 点击 显示元数据 链接
- 以枢纽管理员身份登录:
username=
adminpassword=
abc123
注销页面
- 转到 枢纽 1
- 点击 身份验证 选项卡
- 点击 测试配置的身份验证来源
- 点击 admin
- 以枢纽管理员身份登录:
username=
adminpassword=
abc123 - 点击 注销
登录页面
没有主题的情况下
- 转到 SP 1
- 点击 idp1(第一个)
- 登录页面 不应 有材料设计
有主题的情况下
- 转到 SP 1
- 点击 idp2(第二个)
- 登录页面 应 有材料设计
忘记密码功能
- 转到 SP 1
- 点击 idp2(第二个)
- 忘记密码链接应可见
有用的链接功能
- 转到 SP 1
- 点击 idp4(第三个)
- 帮助链接应显示在登录表单下方
- 个人资料链接应显示在登录表单下方
到期功能
即将到期页面(将在一天后到期)
注意:此提醒只工作一次,因为选择稍后再设置提醒日期将将其设置为未来的一小段时间。如有需要,请使用新的私密/隐身浏览器窗口重试。
- 转到 SP 1
- 点击 idp2(第二个)
- 以“即将到期”用户身份登录:
username=
near_futurepassword=
a - 点击 稍后
- 点击 注销
即将到期页面(将在三天后到期)
注意:此提醒只工作一次,因为选择稍后再设置提醒日期将将其设置为未来的一小段时间。如有需要,请使用新的私密/隐身浏览器窗口重试。
- 转到 SP 1
- 点击 idp2(第二个)
- 以“即将到期”用户身份登录:
username=
near_futurepassword=
a - 点击 稍后
- 点击 注销
已过期页面
- 转到 SP 1
- 点击 idp2(第二个)
- 以“已过期”用户身份登录:
username=
already_pastpassword=
a
多因素身份验证(MFA)功能
关于缺少MFA设置的提醒
- 转到 SP 1
- 点击 idp4(第三个)
- 以“未受保护”用户身份登录:
username=
nag_for_mfapassword=
a - “了解更多”链接应可见
- 点击 启用
- 点击浏览器后退按钮
- 点击 稍后提醒我
- 点击 注销
关于缺少密码恢复方法的提醒
- 转到 SP 1
- 点击 idp4(第三个)
- 以没有任何方法的用户身份登录:
username=
nag_for_methodpassword=
a - 输入以下代码之一进行验证(
94923279, 82743523, 77802769, 01970541, 37771076
) - 点击 添加
- 点击浏览器后退按钮
- 点击 稍后提醒我
- 点击 注销
强制设置MFA
- 转到 SP 1
- 点击 idp4(第三个)
- 以“不安全”用户身份登录:
username=
must_set_up_mfapassword=
a
备份码
- 转到 SP 1
- 点击 idp4(第三个)
- 以“备份码”用户身份登录:
username=
has_backupcodepassword=
a - 输入以下代码之一进行验证(
94923279, 82743523, 77802769, 01970541, 37771076
) - 点击 注销
- 为了查看“代码不足”页面,只需重新登录并使用另一代码。
- 为了查看“代码用尽”页面,只需重复登录和登出,直到没有更多代码。
TOTP代码
- 转到 SP 1
- 点击 idp4(第三个)
- 以“totp”用户身份登录:
username=
has_totppassword=
a - 您应该看到输入totp代码的表单。
- 使用此密钥设置应用,
JVRXKYTMPBEVKXLS
- 从应用中输入代码以验证
- 点击 注销
密钥(U2F)
- 转到 SP 1
- 点击 idp4(第三个)
- 以“u2f”用户身份登录:
username=
has_u2fpassword=
a - 插入密钥并按下
- 点击 注销
密钥(WebAuthn)
- 转到 SP 1
- 点击 idp4(第三个)
- 以“webauthn”用户身份登录:
username=
has_webauthnpassword=
a - 插入密钥并按下
- 点击 注销
多个选项
- 转到 SP 1
- 点击 idp4(第三个)
- 以“多个选项”用户身份登录:
username=
has_allpassword=
a - 点击 更多选项
多个选项(传统,带U2F)
- 转到 SP 1
- 点击 idp4(第三个)
- 以“多个选项”用户身份登录:
username=
has_all_legacypassword=
a - 点击 更多选项
管理员救援
- 转到 SP 1
- 点击 idp4(第三个)
- 以“多个选项”用户身份登录:
username=
has_allpassword=
a - 点击 更多选项
- 点击帮助选项
- 选择 发送
注意:目前,正确的代码尚不清楚,无法在本地进行测试(它仅在管理员的电子邮件中可用)
公告功能
- 转到 SP 2
- 公告应显示在中心
- 点击 idp3(第一个)
- 公告应显示在登录屏幕上
SP名称功能
- 转到 SP 1
- SP名称应出现在横幅中
个人资料审查功能
- 转到 SP 1
- 点击 idp4(第三个)
- 以“需要审查”用户身份登录:
username=
needs_reviewpassword=
a - 输入以下可打印代码之一进行验证(
94923279, 82743523, 77802769, 01970541, 37771076
) - 点击按钮更新个人资料
- 点击按钮继续
- 点击 注销
i18n支持
翻译按页面分类,位于位于dictionaries
目录中的定义文件中。
本地化受配置设置language.available
的影响。只有在此属性中找到的语言代码才会被利用。
例如,如果为此模块提供了荷兰语翻译,则必须调整配置以将“af”设置为可用语言。如果没有这样做,即使提供了翻译,翻译函数也不会利用翻译。
调试
可以通过以下方式启用Xdebug:
- 在
local.env
中定义REMOTE_DEBUG_IP
。这应该是您开发机器的IP地址,即运行您的IDE的那个机器。如果您使用Linux作为Docker宿主机,这里可以使用172.17.0.1。请注意,显示在容器日志中的IP地址可能不是您的机器的实际IP地址(例如可能是虚拟机的IP地址)。 - 将run-debug.sh映射到您想要调试的容器中。例如
volumes: - ./development/run-debug.sh:/data/run.sh
- 在您的IDE中启用调试。有关PhpStorm设置的说明,请参阅下一节。
为PhpStorm配置远程调试
在PhpStorm中,前往:首选项 > PHP > 调试 > DBGp代理,并设置以下设置
- 主机:(您的IP地址或主机名)
- 端口:9000
在:首选项 > PHP > 服务器中设置路径映射
- 添加一个服务器,给它您的IP地址和一个端口号9000,并将项目文件夹映射到'/data/vendor/simplesamlphp/simplesamlphp/modules/material'
- 根据需要映射其他目录。当遇到未识别的路径时,PhpStorm应会提示。
然后通过点击PhpStorm工具栏上的“监听”按钮开始监听。