Example #1
0
 case 'rest':
     $serviceResponse->StartTransaction();
     // OAuth authorization.
     if (OAuthRequestVerifier::requestIsSigned()) {
         try {
             $request = new OAuthRequestVerifier();
             $userID = $request->verify();
             if ($userID) {
                 // Create the login control system.
                 $userClass = Config::GetSetting('userModule');
                 $userClass = explode('.', $userClass);
                 Kit::ClassLoader($userClass[0]);
                 // Create a user.
                 $user = new User($db);
                 // Log this user in.
                 if (!$user->LoginServices($userID)) {
                     $serviceResponse->ErrorServerError('Unknown User.');
                 }
             } else {
                 $serviceResponse->ErrorServerError('No user id.');
             }
         } catch (OAuthException $e) {
             $serviceResponse->ErrorServerError('Request signed but Unauthorized.');
         }
     } else {
         // Only signed requests allowed.
         $serviceResponse->ErrorServerError('Not signed.');
     }
     Debug::LogEntry('audit', 'Authenticated API call for [' . $method . '] with a [' . $response . '] response. Issued by UserId: ' . $user->userid, 'Services');
     // Authenticated with OAuth.
     Kit::ClassLoader('Rest');