$option) { if (\property_exists($this, $key)) { $this->{$key} = $option; } } parent::__construct([], $collaborators); } public function getBaseAuthorizationUrl() : string { return $this->urlAuthorize; } public function getBaseAccessTokenUrl(array $params = []) : string { return $this->urlAccessToken; } public function getDefaultScopes() : array { return $this->scopes; } private function getAccessTokenMethod() : string { return $this->accessTokenMethod ?: parent::getAccessTokenMethod(); } private function getAccessTokenResourceOwnerId() : string { return $this->accessTokenResourceOwnerId ?: parent::getAccessTokenResourceOwnerId(); } private function getScopeSeparator() : string { return $this->scopeSeparator ?: parent::getScopeSeparator(); } private function createResourceOwner(array $response, AccessToken $token) : GeneralResourceOwner { return new GeneralResourceOwner($response, $this->responseResourceOwnerId); } }