MDL-79725 libraries: fix auth URL generation in lti1p3 library

This commit is contained in:
Jake Dallimore
2024-01-23 12:52:37 +08:00
parent 076379a485
commit 48ec9b3bd2
2 changed files with 8 additions and 1 deletions
+2
View File
@@ -2,6 +2,8 @@ LTI 1.3 Tool Library import instructions
This library is a patched for use in Moodle - it requires the following changes be applied on top of the packback upstream base:
1. Removal of phpseclib dependency (replaces a single call with openssl equivalent)
2. Apply the fix from https://github.com/packbackbooks/lti-1-3-php-library/pull/107. If this is already merged upstream, please
remove this line.
To upgrade to a new version of this library:
1. Clone the latest version of the upstream library from github:
+6 -1
View File
@@ -90,7 +90,12 @@ class LtiOidcLogin
$auth_params['lti_message_hint'] = $request['lti_message_hint'];
}
$auth_login_return_url = $registration->getAuthLoginUrl().'?'.http_build_query($auth_params, '', '&');
if (parse_url($registration->getAuthLoginUrl(), PHP_URL_QUERY)) {
$separator = '&';
} else {
$separator = '?';
}
$auth_login_return_url = $registration->getAuthLoginUrl().$separator.http_build_query($auth_params, '', '&');
// Return auth redirect.
return new Redirect($auth_login_return_url, http_build_query($request, '', '&'));