simplesamlphp / simplesamlphp-module-oidc

A SimpleSAMLphp module for OIDC OP support.
Other
45 stars 22 forks source link

Is there an updated compatibility matrix? Issues with SSP 1.19 on PHP 8.1? #192

Closed surfrock66 closed 1 year ago

surfrock66 commented 1 year ago

I'm attempting to use this module on SimpleSamlPHP 1.19, using an Ubuntu Server with Apache 2.4.54 and PHP 8.1.12. After configuring the module, I open the federation page and click the "OpenID Connect Installation" link which brings me to an error page. The simplesamlphp.log file shows this:

Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] SimpleSAML\Error\Error: UNHANDLEDEXCEPTION
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] Backtrace:
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] 2 /var/www/saml/www/_include.php:31 (SimpleSAML_exception_handler)
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] 1 /var/www/saml/vendor/symfony/error-handler/ErrorHandler.php:607 (Symfony\Component\ErrorHandler\ErrorHandler::handleException)
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] 0 [builtin] (N/A)
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] Caused by: Error: Non-static method SimpleSAML\Utils\Auth::requireAdmin() cannot be called statically
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] Backtrace:
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] 3 /var/www/saml/modules/oidc/lib/Services/RoutingService.php:44 (SimpleSAML\Module\oidc\Services\RoutingService::call)
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] 2 /var/www/saml/modules/oidc/www/install.php:18 (require)
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] 1 /var/www/saml/src/SimpleSAML/Module.php:302 (SimpleSAML\Module::process)
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] 0 /var/www/saml/www/module.php:14 (N/A)
Nov 20 14:55:51 simplesamlphp ERROR [f2c33db471] Error report with id d69df4d4 generated.

I'm suspecting this is a php 8.1 thing, meaning the module is not compatible. I was citing this documentation: https://php.watch/versions/8.0/non-static-static-call-fatal-error Is that correct?

tvdijen commented 1 year ago

It seems you're not using SimpleSAMLphp 1.19, but either the master or release-2.0 branch. SimpleSAML\Utils\Auth::requireAdmin became non-static after 1.19

surfrock66 commented 1 year ago

You are correct, I was testing both and was not on the one I thought; I've been swapping folders in my testing and lost the plot. Derp unlocked. Is this currently incompatible with 2.0; I see the ssp2.0 branch, is that far enough for testing?

tvdijen commented 1 year ago

It should be, but I'm not able to test this right now. Feel free to give it a try and let us know if you run into any issues.

pradtke commented 1 year ago

I got blocked on finishing the ssp2 branch. A large chunk of our testing is done through OIDC's conformance testing tools and there was an incompatibility between those tools and SSP v2's login page (something related to the conformance tests only supporting an older version of javascript). Anyhow, it has been a year since that issue so maybe OIDC has resolved the issue. @tvdijen I see you had to force push some changes for #160 . I don't want to conflict with anything you have in flight, so let me know when your done with however much progress you make and I'll make some updates for the conformance tests.

tvdijen commented 1 year ago

@pradtke Sorry, I wasn't aware of the open PR.. All I did was to rebase the ssp2-test branch against master

pradtke commented 1 year ago

@tvdijen Thanks! yeah, that PR got stale and was always in a draft state. I'll take a look at what's failing in it.

surfrock66 commented 1 year ago

Should I hold off on testing, looking at the commits they're hours old from this PR work? Lemme know, I'm happy to test.

tvdijen commented 1 year ago

I'd say give it a shot! The PHP 8.0+8.1 tests are passing (just deprecation issues).. We just have to fix PHP 7.4 tests and the conformance tests. @pradtke It seems for the conformance tests you're spinning up some docker container, but the manifest file does not exist.. Is this something you can fix?

pradtke commented 1 year ago

@tvdijen I've fixed the docker image. Login conformance tests are passing. Logout are failing. I can take look next week - Thanksgiving holidays are starting here tomorrow.

cicnavi commented 1 year ago

Released https://github.com/simplesamlphp/simplesamlphp-module-oidc/releases/tag/v2.1.4