Exemplo n.º 1
0
 /**
  * Handles an existing Moodle user connecting to OpenID Connect.
  *
  * @param \auth_oidc\event\user_connected $event The triggered event.
  * @return bool Success/Failure.
  */
 public static function handle_oidc_user_connected(\auth_oidc\event\user_connected $event)
 {
     // Get additional tokens for the user.
     $eventdata = $event->get_data();
     if (!empty($eventdata['userid'])) {
         $clientdata = \local_o365\oauth2\clientdata::instance_from_oidc();
         if (!empty($clientdata)) {
             try {
                 $httpclient = new \local_o365\httpclient();
                 $azureresource = \local_o365\rest\calendar::get_resource();
                 $token = \local_o365\oauth2\token::instance($eventdata['userid'], $azureresource, $clientdata, $httpclient);
             } catch (\Exception $e) {
                 return false;
             }
         }
     }
     return true;
 }