Set proper relaystate url

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2022-03-16 18:50:51 +01:00
parent 6b546d077d
commit b91b85f417
No known key found for this signature in database
GPG key ID: 4C614C6ED2CDE6DF

View file

@ -172,7 +172,8 @@ class SAMLController extends Controller {
switch ($type) {
case 'saml':
$auth = new Auth($this->samlSettings->getOneLoginSettingsArray($idp));
$ssoUrl = $auth->login(null, [], false, false, true);
$returnUrl = $this->request->getParam('originalUrl', $this->urlGenerator->linkToRouteAbsolute('user_saml.SAML.login'));
$ssoUrl = $auth->login($returnUrl, [], false, false, true);
$response = new Http\RedirectResponse($ssoUrl);
// Small hack to make user_saml work with the loginflows
@ -359,7 +360,7 @@ class SAMLController extends Controller {
return $response;
}
$originalUrl = $data['OriginalUrl'];
$originalUrl = $data['RelayState'] ?? $data['OriginalUrl'];
if ($originalUrl !== null && $originalUrl !== '') {
$response = new Http\RedirectResponse($originalUrl);
} else {