Example #1
0
     foreach ($externalAccounts as $externalAccount) {
         $oAuth = new OAuthClient($externalAccount->service);
         $emails = $oAuth->getEmails($externalAccount->token);
         foreach ($emails as $_email) {
             if ($_email == $body->email) {
                 $email_found = true;
                 break;
             }
         }
         if ($email_found) {
             break;
         }
     }
     if ($email_found) {
         $access_token = $resourceServer->getAccessToken()->getId();
         OAuthHelper::grantScopesToAccessToken($access_token, ['plugins', 'plugins:search', 'plugin:card', 'plugin:star', 'plugin:submit', 'plugin:download', 'tags', 'tag', 'authors', 'author', 'version', 'message', 'user:externalaccounts', 'user:apps']);
         $user->active = true;
         $user->email = $body->email;
         $mailer = new Mailer();
         $mailer->sendMail('external_account_mail_as_main.html', [$user->email], 'Email address validated by ' . $externalAccount->service . ' used as main email on GLPi Plugins', ['user' => $user->toArray(), 'service' => $externalAccount->service]);
     }
 }
 if (isset($body->password) && User::isValidPassword($body->password)) {
     $user->setPassword($body->password);
 }
 if (isset($body->realname) && User::isValidRealname($body->realname)) {
     $user->realname = $body->realname;
 }
 if (isset($body->website) && User::isValidWebsite($body->website)) {
     $user->website = $body->website;
 }