. namespace core\oauth2\client; use core\oauth2\client; /** * Custom oauth2 client for Microsoft to handle specific requirements. * * @package core * @copyright 2025 Huong Nguyen * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class microsoft extends client { #[\Override] public function get_additional_upgrade_token_parameters(): array { $issuer = $this->get_issuer(); if ($issuer->get('showonloginpage') == $issuer::SMTPWITHXOAUTH2) { // We are using this issuer for SMTP with XOAUTH2. // We need to add the SMTP scope to the token request. return [ 'scope' => 'https://outlook.office.com/SMTP.Send', ]; } return parent::get_additional_upgrade_token_parameters(); } }