silinternational / simplesamlphp-module-theme-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-06-25 05:09:30 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。
设置
- 为
ssp-hub1.local
、ssp-hub2.local
、ssp-idp1.local
、ssp-idp2.local
、ssp-idp3.local
、ssp-idp4.local
、ssp-sp1.local
和ssp-sp2.local
设置localhost
(或使用 Vagrant 时的192.168.62.54
)别名。这通常在/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地址(例如,可能是VM的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工具栏上的“监听”按钮开始监听。