MDL-70268 core: Update the oauthlib to exclude scope if none provided

This commit is contained in:
Peter Dias
2021-03-03 12:06:37 +08:00
parent f32754319e
commit 5db25124ef
+15 -7
View File
@@ -511,14 +511,22 @@ abstract class oauth2_client extends curl {
public function get_login_url() {
$callbackurl = self::callback_url();
$defaultparams = [
'client_id' => $this->clientid,
'response_type' => 'code',
'redirect_uri' => $callbackurl->out(false),
'state' => $this->returnurl->out_as_local_url(false),
];
if (!empty($this->scope)) {
// The scope should only be included if a value is set.
// If none provided, the server MUST process the request and provide an appropriate documented response.
// See spec https://tools.ietf.org/html/rfc6749#section-3.3
$defaultparams['scope'] = $this->scope;
}
$params = array_merge(
[
'client_id' => $this->clientid,
'response_type' => 'code',
'redirect_uri' => $callbackurl->out(false),
'state' => $this->returnurl->out_as_local_url(false),
'scope' => $this->scope,
],
$defaultparams,
$this->get_additional_login_parameters()
);