code: public function signRequestUrl(
  		$requestUrl = '',
  		$resourceType = Storage::RESOURCE_UNKNOWN,
  		$requiredPermission = CredentialsAbstract::PERMISSION_READ
  	) {
  	    // Look for a matching permission
  	    foreach ($this->getPermissionSet() as $permittedUrl) {
  	        if ($this->permissionMatchesRequest($permittedUrl, $requestUrl, $resourceType, $requiredPermission)) {
  	            // This matches, append signature data
  	            $parsedPermittedUrl = parse_url($permittedUrl);
  
  	            if (strpos($requestUrl, '?') === false) {
  	                $requestUrl .= '?';
  	            } else {
  	                $requestUrl .= '&';
  	            }
  
  	            $requestUrl .= $parsedPermittedUrl['query'];
  
  	            // Return url
  	            return $requestUrl;
  	        }
  	    }
  
  	    // Return url, will be unsigned...
  	    return $requestUrl;
  	}
docs: Sign request URL with credentials
  
  @param string $requestUrl Request URL
  @param string $resourceType Resource type
  @param string $requiredPermission Required permission
  @return string Signed request URL