mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #42697
[Bug 1689685] Re: SAML SSO authentication doesn't work as SimpleSAMLphp generates non-existent AssertionConsumerServiceURL
Hi Shane,
We had to fix this on SimpleSAMLphp library (1.14.7)
mahara/htdocs/auth/saml/extlib/simplesamlphp/modules/saml/lib/Auth/Source/SP.php
line 189
From
$ar->setAssertionConsumerServiceURL(SimpleSAML_Module::getModuleURL('saml/sp/saml2-acs.php/' . $this->authId));
To
$ar->setAssertionConsumerServiceURL(get_config('wwwroot') . 'auth/saml/sp/saml2-acs.php/' . $this->authId);
We also had log out issues e.g. once a user is logged out from another
application (part of SSO) Mahara should also log out but that wasn't the
case. SAML session was terminated but not the Mahara session!
And for this issue we had to put $USERlogout(); to
mahara/htdocs/auth/saml/sp/saml2-logout.php just before calling SAML
logout page
require('../extlib/simplesamlphp/modules/saml/www/sp/saml2-logout.php');
Are you experiencing similar issues?
Regards,
Yaju Mahida
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1689685
Title:
SAML SSO authentication doesn't work as SimpleSAMLphp generates non-
existent AssertionConsumerServiceURL
Status in Mahara:
New
Bug description:
Wrong AssertionConsumerServiceURL is genereated in SAML2-AuthRequest.
Mahara 16.10.3 and CentOS Linux release 7.2
Since 16.10.x release, the SimpleSAMLphp library is included as a
managed dependency with the Mahara codebase.
We noticed that before sending an AuthRequest to an IDP, it generates
wrong AssertionConsumerServiceURL behaving like it is hosted
separately with Mahara which ends up in SSO failure.
In our case, it generates https://localhost/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp
instead of https://localhost/auth/saml/sp/saml2-acs.php/default-sp.
We tracked down that it is generated using 'baseurlpath' => 'simplesaml/' defined in htdocs/auth/saml/config/config.php
and
$ar->setAssertionConsumerServiceURL(SimpleSAML_Module::getModuleURL('saml/sp/saml2-acs.php/' . $this->authId)); defined in htdocs/auth/saml/extlib/simplesamlphp/modules/saml/lib/Auth/Source/SP.php line 189.
As a workaround, we have hacked the SimpleSAMLphp library for
generating correct AssertionConsumerServiceURL which solves this
issue.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1689685/+subscriptions
References