コード例 #1
0
ファイル: initialise.php プロジェクト: klas/matware-libraries
 /**
  * Handle the request.
  *
  * @return  void
  *
  * @since   1.0
  */
 public function execute()
 {
     // Verify that we have an OAuth 2.0 application.
     $this->initialise();
     // Generate temporary credentials for the client.
     $credentials = new MOauth2Credentials($this->request);
     // Get the client object
     $client = $this->fetchClient($this->request->client_id);
     // Doing authentication using Joomla! users
     if ($credentials->doJoomlaAuthentication($client) == false) {
         $this->respondError(400, 'unauthorized_client', 'The Joomla! credentials are not valid.');
     }
     // Load the JUser class on application for this client
     $this->app->loadIdentity($client->_identity);
     // Initialize the credentials for this request
     $credentials->initialise($client->_identity->id, $this->app->get('oauth.tokenlifetime', 'PT1H'));
     // Build the response for the client.
     $response = array('oauth_code' => $credentials->getTemporaryToken(), 'oauth_state' => true);
     // Check if the request is CORS ( Cross-origin resource sharing ) and change the body if true
     $body = $this->prepareBody($response);
     // Set the response code and body.
     $this->response->setHeader('status', '200')->setBody($body)->respond();
 }