Repository navigation
Verified against a full pre-production SimpleSAMLphp environment (as
v2.0.0-rc.1/rc.2). Breaking changes relative to v1.0.7: minimum PHP is now
8.3, minimum SimpleSAMLphp is now 2.5.2, and handleLoginPass() was renamed
to handleUserPassLogin() and retyped.
Added
- The
sourcesoption is now wired through to the login page: the controller
passes asourceslist (id,label,userpass) to the template, which
renders one form per source.authsourcevalues not insourcesare
rejected. - Tests for the
Multiauthsinglepageauthentication source (constructor
validation, credential guard, session handling, logout error path).
Changed
- Require PHP >= 8.3 and SimpleSAMLphp >= 2.5.2.
Multiauthsinglepage::authenticate()now returnsnever, to match
saml:SPin SimpleSAMLphp 2.5.- Any
core:UserPassBasesource (e.g.ldap:Ldap,sqlauth:SQL,
core:AdminPassword) is now authenticated on the single page, not just
ldap:Ldap. The dispatch checksinstanceof UserPassBase;
handleLoginPass()was renamed tohandleUserPassLogin(), typed
accordingly, and reaches the source's (alwaysprotected)login()via
reflection. - Replaced the deprecated
Request::get()(Symfony 7.4) with explicit
query-string / POST-body reads. - Single code style tool (
phpcswith the SimpleSAMLphp standard); dropped
php-cs-fixer. - Loosened the
simplesamlphp-module-ldapconstraint from2.5.2to
^2.5.2. - The test bootstrap defines
SIMPLESAMLPHP_TEST_NOEXITso redirect flows
can be exercised in tests. - Rewrote the README with a real configuration example.
Fixed
- The login template read
errorTitle/errorDesc, which the controller
never set, so errors were never shown; it now useserrorcode/
errorcodes/errorparams. handleUserPassLogin()no longer raises aTypeErrorwhen the username or
password is missing; it throwsError\Error(WRONGUSERPASS)instead.- The full authentication state is no longer written to the debug log.
LICENSEwas an empty file; it now contains the GNU LGPL 2.1 text.- Moved the
SuccessAuthSourcetest fixture out ofsrc/intotests/,
fixing its PSR-4 mapping. - The "skipping source" log for a source that fails to load is now a
warningrather thandebug, so a misconfiguration is visible without
turning on debug logging.
Removed
LdapSinglePage. It could never construct: anldap:Ldapsubclass
configured under any authsource type other thanldap:Ldapfails, because
SimpleSAML\Module\ldap\ConnectorFactory::fromAuthSource()asserts the
authsource's configured type is literally"ldap:Ldap"— regardless of the
PHP class hierarchy. Configure LDAP sources as plainldap:Ldap.