Skip to content

v1.0.0

Compare
Choose a tag to compare
@NightJar NightJar released this 05 Nov 23:37
4077e54

First stable release of the silverstripe/saml module, which partially replaces the silverstripe/activedirectory module for SilverStripe 4.

Breaking API Changes:

  • Split silverstripe/activedirectory module into silverstripe/saml and silverstripe/ldap modules
  • Upgrade modules to support SilverStripe 4
  • Remove SAMLSecurityExtension and replace with configurable SAMLMiddleware to enforce SSO on all website requests
  • Stop SAMLAuthenticator::authenticate() from redirecting users to the IdP. This causes all kinds of issues (e.g. in cases where there are multiple authenticators)
  • Stop SAMLLoginHandler from extending LoginHandler, because it only deals with login
  • Move the SAML redirection from SAMLAuthenticator::authenticate() to SAMLHelper::redirect() so that it can be called by both SAMLLoginHandler and SAMLMiddleware

Non-breaking API Changes:

  • Update module to work as a vendormodule so it's not installed in web-root
  • Update onelogin/php-saml requirement to the latest v3.0.0 stable version which allows support for PHP 7.2 (no longer relies on the deprecated mcrypt PHP extension)

New features (since module split):

  • Add new authn_contexts array to allow developers to specify specific AuthN context classes that can be used for SSO. This helps when dealing with ADFS servers that enforce a specific ordering that places Password authentication ahead of windows, meaning that users are forced to login when reaching ADFS instead of being logged in automatically.

Bug Fixes:

  • Completely re-write the SAMLController::acs() method so that it actually works, and gracefully handles SAML authentication errors
  • Ensure a Member is written to the DB, and use the new IdentityStore API to correctly log users in

Documentation:

  • Update documentation to remove references to AD sync (which is part of the silverstripe/ldap module)
  • Generally tidy up developer documentation