This repository is no longer maintained. It has been included directly in https://github.com/silinternational/ssp-base.
--
Material Design theme for use with SimpleSAMLphp
composer.phar require silinternational/simplesamlphp-module-material:dev-master
Update /simplesamlphp/config/config.php
:
'theme.use' => 'material:material'
ssp-base provides a convenience by loading this config with whatever is in the environment variable THEME_USE
.
If a site key has been provided in $this->data['recaptcha.siteKey']
, the
username/password page may require the user prove his/her humanity.
Update /simplesamlphp/config/config.php
:
'theme.color-scheme' => ['indigo-purple'|'blue_grey-teal'|'red-teal'|'orange-light_blue'|'brown-orange'|'teal-blue']
The login page looks for /simplesamlphp/www/logo.png
which is NOT provided by default.
Update /simplesamlphp/config/config.php
:
'analytics.trackingId' => 'G-some-unique-id-for-your-site'
ssp-base provides a convenience by loading this config with whatever is in the environment variable ANALYTICS_ID
.
Update /simplesamlphp/announcement/announcement.php
:
return 'Some <strong>important</strong> announcement';
ssp-utilities provides whatever is returned by /simplesamlphp/announcement/announcement.php
.
If provided, an alert will be shown to the user filled with the content of that announcement. HTML is supported.
Make, Docker and Docker Compose are required.
- Setup
localhost
(or192.168.62.54
, if using Vagrant) aliases forssp-hub1.local
,ssp-hub2.local
,ssp-idp1.local
,ssp-idp2.local
,ssp-idp3.local
,ssp-idp4.local
,ssp-sp1.local
andssp-sp2.local
. This is typically done in/etc/hosts
. Example line: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
- Start test environment, i.e.,
make
from the command line.
- Goto Hub 1
- Goto Hub 1
- Click Federation tab
- Click either Show metadata link
- Login as hub administrator:
username=
adminpassword=
abc123
- Goto Hub 1
- Click Authentication tab
- Click Test configured authentication sources
- Click admin
- Login as hub administrator:
username=
adminpassword=
abc123 - Click Logout
- Goto SP 1
- Click idp1 (first one)
- login page should NOT have material design
- Goto SP 1
- Click idp2 (second one)
- login page SHOULD have material design
- Goto SP 1
- Click idp2 (second one)
- Forgot password link should be visible
- Goto SP 1
- Click idp4 (third one)
- Help link should be visible under login form
- Profile link should be visible under login form
Note: This nag only works once since choosing later will simply set the nag date into the future a little. If needed, use a new private/incognito browser window to retry.
- Goto SP 1
- Click idp2 (second one)
- Login as an "about to expire" user:
username=
near_futurepassword=
a - Click Later
- Click Logout
Note: This nag only works once since choosing later will simply set the nag date into the future a little. If needed, use a new private/incognito browser window to retry.
- Goto SP 1
- Click idp2 (second one)
- Login as an "about to expire" user:
username=
near_futurepassword=
a - Click Later
- Click Logout
- Goto SP 1
- Click idp2 (second one)
- Login as an "expired" user:
username=
already_pastpassword=
a
- Goto SP 1
- Click idp4 (third one)
- Login as an "unprotected" user:
username=
nag_for_mfapassword=
a - The "learn more" link should be visible
- Click Enable
- Click your browser's back button
- Click Remind me later
- Click Logout
- Goto SP 1
- Click idp4 (third one)
- Login as a user without any methods:
username=
nag_for_methodpassword=
a - Enter one of the following codes to verify (
94923279, 82743523, 77802769, 01970541, 37771076
) - Click Add
- Click your browser's back button
- Click Remind me later
- Click Logout
- Goto SP 1
- Click idp4 (third one)
- Login as an "unsafe" user:
username=
must_set_up_mfapassword=
a
- Goto SP 1
- Click idp4 (third one)
- Login as a "backup code" user:
username=
has_backupcodepassword=
a - Enter one of the following codes to verify (
94923279, 82743523, 77802769, 01970541, 37771076
) - Click Logout
- In order to see the "running low on codes" page, simply log back in and use another code.
- In order to see the "out of codes" page, simply log back in and out repeatedly until there are no more codes.
- Goto SP 1
- Click idp4 (third one)
- Login as a "totp" user:
username=
has_totppassword=
a - You should see the form to enter a totp code.
- Set up an app using this secret,
JVRXKYTMPBEVKXLS
- Enter code from app to verify
- Click Logout
- Goto SP 1
- Click idp4 (third one)
- Login as a "u2f" user:
username=
has_u2fpassword=
a - Insert key and press
- Click Logout
- Goto SP 1
- Click idp4 (third one)
- Login as a "webauthn" user:
username=
has_webauthnpassword=
a - Insert key and press
- Click Logout
- Goto SP 1
- Click idp4 (third one)
- Login as a "multiple option" user:
username=
has_allpassword=
a - Click MORE OPTIONS
- Goto SP 1
- Click idp4 (third one)
- Login as a "multiple option" user:
username=
has_all_legacypassword=
a - Click MORE OPTIONS
- Goto SP 1
- Click idp4 (third one)
- Login as a "multiple option" user:
username=
has_allpassword=
a - Click MORE OPTIONS
- Click the help option
- Choose Send
NOTE: At this time, the correct code is not known and can't be tested locally (it's only available in an email to the manager)
- Goto SP 2
- The announcement should be displayed on the hub
- Click idp3 (first one)
- The announcement should be displayed at the login screen
- Goto SP 1
- The sp name should appear in the banner
- Goto SP 1
- Click idp4 (third one)
- Login as a "Review needed" user:
username=
needs_reviewpassword=
a - Enter one of the following printable codes to verify (
94923279, 82743523, 77802769, 01970541, 37771076
) - Click the button to update the profile
- Click the button to continue
- Click Logout
Translations are categorized by page in definition files located in the dictionaries
directory.
Localization is affected by the configuration setting language.available
. Only language codes found in this property will be utilized.
For example, if a translation is provided in Afrikaans for this module, the configuration must be adjusted to make 'af' an available
language. If that's not done, the translation function will not utilize the translations even if provided.
Xdebug can be enabled by doing the following:
- Define
REMOTE_DEBUG_IP
inlocal.env
. This should be the IP address of your development machine, i.e. the one that is running your IDE. If you're using Linux as your Docker host, you can use 172.17.0.1 here. Note that the IP address shown in your containers' logs may not be your machines actual IP address (it could be for a VM, for example). - Map run-debug.sh into the container you wish to debug. For example:
volumes:
- ./development/run-debug.sh:/data/run.sh
- Enable debugging in your IDE. See the next section for PhpStorm setup.
In PhpStorm go to: Preferences > PHP > Debug > DBGp Proxy and set the following settings:
- Host: (your IP address or hostname)
- Port: 9000
Set path mappings in: Preferences > PHP > Servers
- Add a server, giving it your IP address and a port of 9000, and map the project folder to '/data/vendor/simplesamlphp/simplesamlphp/modules/material'
- Map other directories as needed. PhpStorm should prompt when an unrecognized path is encountered.
Then start listening by clicking the "listen" button on the PhpStorm toolbar.