concrete/src/Api/OAuth/Controller.php
private function restoreRequest(array $data)
    {
        if (!$data) {
            return null;
        }

        // Inflate identifiers into objects
        $scopeData = (array) array_get($data, 'scopes', []);
        $scopes = array_filter(array_map([$this, 'inflateType'], $scopeData));
        $user = $this->inflateType(array_get($data, 'user'), User::class);
        $client = $this->inflateType(array_get($data, 'client'), Client::class);

        // If some data is malformed or missing, restart this whole process.
        if (!$user || !$client || count($scopes) !== count($scopeData)) {
            return null;
        }

        // Build out the authorization request
        $request = new AuthorizationRequest();
        $request->setUser($user);
        $request->setClient($client);
        $request->setAuthorizationApproved((bool) array_get($data, 'approved', false));
        $request->setCodeChallenge(array_get($data, 'challenge', ''));
        $request->setCodeChallengeMethod(array_get($data, 'challenge_method', ''));
        $request->setGrantTypeId(array_get($data, 'grant_type'));
        $request->setState(array_get($data, 'state'));
        $request->setScopes($scopes);
        $request->setRedirectUri(array_get($data, 'redirect'));

        return $request;
    }
private function restoreRequest(array $data)
    {
        if (!$data) {
            return null;
        }

        // Inflate identifiers into objects
        $scopeData = (array) array_get($data, 'scopes', []);
        $scopes = array_filter(array_map([$this, 'inflateType'], $scopeData));
        $user = $this->inflateType(array_get($data, 'user'), User::class);
        $client = $this->inflateType(array_get($data, 'client'), Client::class);

        // If some data is malformed or missing, restart this whole process.
        if (!$user || !$client || count($scopes) !== count($scopeData)) {
            return null;
        }

        // Build out the authorization request
        $request = new AuthorizationRequest();
        $request->setUser($user);
        $request->setClient($client);
        $request->setAuthorizationApproved((bool) array_get($data, 'approved', false));
        $request->setCodeChallenge(array_get($data, 'challenge', ''));
        $request->setCodeChallengeMethod(array_get($data, 'challenge_method', ''));
        $request->setGrantTypeId(array_get($data, 'grant_type'));
        $request->setState(array_get($data, 'state'));
        $request->setScopes($scopes);
        $request->setRedirectUri(array_get($data, 'redirect'));

        return $request;
    }
private function restoreRequest ( array $ data ) { if ( ! $ data ) { return null ; } // Inflate identifiers into objects $ scopeData = ( array ) array_get ( $ data , 'scopes' , [ ] ) ; $ scopes = array_filter ( array_map ( [ $ this , 'inflateType' ] , $ scopeData ) ) ; $ user = $ this -> inflateType ( array_get ( $ data , 'user' ) , User :: class ) ; $ client = $ this -> inflateType ( array_get ( $ data , 'client' ) , Client :: class ) ; // If some data is malformed or missing, restart this whole process. if ( ! $ user || ! $ client || count ( $ scopes ) !== count ( $ scopeData ) ) { return null ; } // Build out the authorization request $ request = new AuthorizationRequest ( ) ; $ request -> setUser ( $ user ) ; $ request -> setClient ( $ client ) ; $ request -> setAuthorizationApproved ( ( bool ) array_get ( $ data , 'approved' , false ) ) ; $ request -> setCodeChallenge ( array_get ( $ data , 'challenge' , '' ) ) ; $ request -> setCodeChallengeMethod ( array_get ( $ data , 'challenge_method' , '' ) ) ; $ request -> setGrantTypeId ( array_get ( $ data , 'grant_type' ) ) ; $ request -> setState ( array_get ( $ data , 'state' ) ) ; $ request -> setScopes ( $ scopes ) ; $ request -> setRedirectUri ( array_get ( $ data , 'redirect' ) ) ; return $ request ; }
Restore a real request from the passed data

@param array $data
@return \League\OAuth2\Server\RequestTypes\AuthorizationRequest|null
Restore a real request from the passed data