Hi,
I installed and configured simplePHPAuth module.

(for testing)I was able to authenticate to IDP using /simplesaml ->Authentication -> Test configured authentication sources -> default-sp after it redirected to IDP, i logged in and subject and attributes are displayed.

But when i navigate to drupal site -> Login -> Federated Login link , it simply showing /user/login not actually going to IDP page for authentication.
Am i missing anything here?
Thanks

Comments

jayanth created an issue. See original summary.

jayanth’s picture

https://www.drupal.org/node/2843079
This issue is saying, the login page of drupal will show list of IDPs but i don't see any.
But at the time of testing using /simplesaml i saw list of IDPs.

diamondsea’s picture

Verify that you are not using the "phpsession" storage option in your simplesaml config.php file. If you are, it will silently redirect to /user/login. (see #2897043: /saml_login redirects to /user/login. Notify if using PHPSESSION for session storage)

Verify that you have the module enabled on the settings page for the module.

I haven't been able to figure out why, but the code seems to be failing checking for this checkbox in

.../simplesamlphp_auth/src/Controller/SimplesamlphpAuthController.php on line 140 . I had to change the line from

if (!$this->simplesaml->isActivated()) {

to

if (FALSE && !$this->simplesaml->isActivated()) {

to get it to work for me. (a dirty hack, but got it working until I can figure out what the issue is returning the isActivated() setting properly) (See #2897298: /saml_login redirects to /user/login. simplesaml->IsActivated() not returning proper value)

dakku’s picture

Status: Active » Postponed (maintainer needs more info)
jimafisk’s picture

After authentication, I was getting a 303 error that pushed me to /user/login. Turns out I forgot to set $config['store.type'] = 'sql'; in simplesamlphp/config/config.php (my understanding is you can't leave store.type as phpsession in D8).

I also set the database credentials:

$config['store.sql.dsn'] = sprintf('mysql:host=%s;port=%s;dbname=%s', $creds['host'], $creds['port'], $creds['name']);
$config['store.sql.username'] = $creds['user'];
$config['store.sql.password'] = $creds['pass'];

I'm on acquia so just did a switch statement on $_ENV['AH_SITE_ENVIRONMENT'] to set different creds for dev, test, and prod.

Berdir’s picture

Status: Postponed (maintainer needs more info) » Fixed

Closing as this was a support request.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.