public function authorize()
    {
        // Create the request and response objects
        $request = \OAuth2\Request::createFromGlobals();
        $response = new \OAuth2\Response();

        // Validate the authorize request
        if (!$this->tokenServer->validateAuthorizeRequest($request, $response)) {
            // Get the data as json and convert it to an array,
            // - so we can set our own response type.
            $data = $response->getResponseBody('json');
            $data = json_decode($data, true);

            // Set the response, status code and output content setting final output to true
            $this->response = $data;
            $this->statusCode = $response->getStatusCode();
            $this->output(true);
            return $this;
        }

        // Display an authorization form
        if ($this->method != 'post' || !isset($this->data['authorized'])) {
            // Get the authorization form
            ob_start();
            require $this->configuration->getAuthorizationForm();
            $form = ob_get_clean();
            $this->response = $form;
            $this->statusCode = 200;
            $this->responseType = 'text/html';
            $this->output(true);
            return $this;
        }

        // Print the authorization code if the user has authorized your client
        $isAuthorized = ($this->data['authorized'] === 'yes');
        $this->tokenServer->handleAuthorizeRequest($request, $response, $isAuthorized);

        // Check if the request was successful
        if ($response->getStatusCode() === 302) {
            // Check if we should redirect according to our configuration
            if ($this->configuration->getRedirectAuthorization() === true) {
                // The response will contain a Location header we should navigate to
                header('Location: ' . $response->getHttpHeader('Location'));
                exit;
            }

            // Create a response with the authorization code
            $code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=')+5, 40);
            $this->response = ['status' => 1, 'authorization_code' => $code];
            $this->statusCode = 200;
            $this->output(true);
            return $this;
        }

        // Get the data as json and convert it to an array,
        // - so we can set our own response type.
        $data = $response->getResponseBody('json');
        $data = json_decode($data, true);

        // Set the response, status code and output content setting final output to true
        $this->response = $data;
        $this->statusCode = $response->getStatusCode();
        $this->output(true);
        return $this;
    }
public function authorize()
    {
        // Create the request and response objects
        $request = \OAuth2\Request::createFromGlobals();
        $response = new \OAuth2\Response();

        // Validate the authorize request
        if (!$this->tokenServer->validateAuthorizeRequest($request, $response)) {
            // Get the data as json and convert it to an array,
            // - so we can set our own response type.
            $data = $response->getResponseBody('json');
            $data = json_decode($data, true);

            // Set the response, status code and output content setting final output to true
            $this->response = $data;
            $this->statusCode = $response->getStatusCode();
            $this->output(true);
            return $this;
        }

        // Display an authorization form
        if ($this->method != 'post' || !isset($this->data['authorized'])) {
            // Get the authorization form
            ob_start();
            require $this->configuration->getAuthorizationForm();
            $form = ob_get_clean();
            $this->response = $form;
            $this->statusCode = 200;
            $this->responseType = 'text/html';
            $this->output(true);
            return $this;
        }

        // Print the authorization code if the user has authorized your client
        $isAuthorized = ($this->data['authorized'] === 'yes');
        $this->tokenServer->handleAuthorizeRequest($request, $response, $isAuthorized);

        // Check if the request was successful
        if ($response->getStatusCode() === 302) {
            // Check if we should redirect according to our configuration
            if ($this->configuration->getRedirectAuthorization() === true) {
                // The response will contain a Location header we should navigate to
                header('Location: ' . $response->getHttpHeader('Location'));
                exit;
            }

            // Create a response with the authorization code
            $code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=')+5, 40);
            $this->response = ['status' => 1, 'authorization_code' => $code];
            $this->statusCode = 200;
            $this->output(true);
            return $this;
        }

        // Get the data as json and convert it to an array,
        // - so we can set our own response type.
        $data = $response->getResponseBody('json');
        $data = json_decode($data, true);

        // Set the response, status code and output content setting final output to true
        $this->response = $data;
        $this->statusCode = $response->getStatusCode();
        $this->output(true);
        return $this;
    }
public function authorize ( ) { // Create the request and response objects $ request = \ OAuth2 \ Request :: createFromGlobals ( ) ; $ response = new \ OAuth2 \ Response ( ) ; // Validate the authorize request if ( ! $ this -> tokenServer -> validateAuthorizeRequest ( $ request , $ response ) ) { // Get the data as json and convert it to an array, // - so we can set our own response type. $ data = $ response -> getResponseBody ( 'json' ) ; $ data = json_decode ( $ data , true ) ; // Set the response, status code and output content setting final output to true $ this -> response = $ data ; $ this -> statusCode = $ response -> getStatusCode ( ) ; $ this -> output ( true ) ; return $ this ; } // Display an authorization form if ( $ this -> method != 'post' || ! isset ( $ this -> data [ 'authorized' ] ) ) { // Get the authorization form ob_start ( ) ; require $ this -> configuration -> getAuthorizationForm ( ) ; $ form = ob_get_clean ( ) ; $ this -> response = $ form ; $ this -> statusCode = 200 ; $ this -> responseType = 'text/html' ; $ this -> output ( true ) ; return $ this ; } // Print the authorization code if the user has authorized your client $ isAuthorized = ( $ this -> data [ 'authorized' ] === 'yes' ) ; $ this -> tokenServer -> handleAuthorizeRequest ( $ request , $ response , $ isAuthorized ) ; // Check if the request was successful if ( $ response -> getStatusCode ( ) === 302 ) { // Check if we should redirect according to our configuration if ( $ this -> configuration -> getRedirectAuthorization ( ) === true ) { // The response will contain a Location header we should navigate to header ( 'Location: ' . $ response -> getHttpHeader ( 'Location' ) ) ; exit ; } // Create a response with the authorization code $ code = substr ( $ response -> getHttpHeader ( 'Location' ) , strpos ( $ response -> getHttpHeader ( 'Location' ) , 'code=' ) + 5 , 40 ) ; $ this -> response = [ 'status' => 1 , 'authorization_code' => $ code ] ; $ this -> statusCode = 200 ; $ this -> output ( true ) ; return $ this ; } // Get the data as json and convert it to an array, // - so we can set our own response type. $ data = $ response -> getResponseBody ( 'json' ) ; $ data = json_decode ( $ data , true ) ; // Set the response, status code and output content setting final output to true $ this -> response = $ data ; $ this -> statusCode = $ response -> getStatusCode ( ) ; $ this -> output ( true ) ; return $ this ; }
Handles authorizing clients to receive an OAuth2 access token.

@return $this The current object, unless the user gets redirected.
Handles authorizing clients to receive an OAuth2 access token .