This is basically a rewrite. https://github.com/ktbartholomew/saml-20-single-sign-on/issues/20 essentially precludes the use of SimpleSAMLPHP, which is extremely difficult to consume as a portable library and not a standalone web app. By using OneLogin's library, we can more elegantly configure the SAML service provider, and most likely handle multisite scenarios MUCH better.
A major revision change is also a good time to abandon some poor decisions from years ago, like storing certificates on the filesystem and depending on very specific URL handling to identify the current site in a multisite setup.
The focus for this PR is to modernize the plugin, make it more predictable going forward, but not to preserve lots of backwards compatibility for versions <1.0.0
This is basically a rewrite. https://github.com/ktbartholomew/saml-20-single-sign-on/issues/20 essentially precludes the use of SimpleSAMLPHP, which is extremely difficult to consume as a portable library and not a standalone web app. By using OneLogin's library, we can more elegantly configure the SAML service provider, and most likely handle multisite scenarios MUCH better.
A major revision change is also a good time to abandon some poor decisions from years ago, like storing certificates on the filesystem and depending on very specific URL handling to identify the current site in a multisite setup.
The focus for this PR is to modernize the plugin, make it more predictable going forward, but not to preserve lots of backwards compatibility for versions <1.0.0