bueno, yo encontré un 
wrapper simple de CURL.... con el puedes especificar tu user & password, la verdad no se si te funcione.... ya que el proceso de loggeo ha de ser mas complejo, pero igual... y te sirve el código para estudiarlo...  
PDTA: recuerda que en la documentación de PHP, esta toda la información que necesitas... solo es cuestión de estudiarle y practicar, suerte!  
 Código PHP:
    /**
 * (archivo[, usuario[, contraseña]])
 *
 * Lee un archivo de modo remoto... con credenciales?
 */
function read($file, $user = null, $pass = null)
{
    if (is_callable('curl_init'))
    {
        $ch = curl_init();
        if($user && $pass)
        {
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                    'Authorization: Basic ' .  base64_encode("$user:$pass")
            ));
        }
        curl_setopt($ch, CURLOPT_URL, $file);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        
        $out = curl_exec($ch);
        curl_close($ch);
        
        return $out;
    }
    elseif (ini_get('allow_url_fopen'))
    {
        if (($user && $pass) &&
                !preg_match('/:\/\/[^:]+:[^:@]+@/', $file))
        {
            $file = str_replace('://', "://$user:$pass@", $url);
        }
        return file_get_contents($file);
    }
} 
    
  la verdad, no se que tan cierto sea... pero, suerte!