[Flickr] Authentification du script



  • Salut à tous,

    J'essaie de créer une authentification avec l'API de Flickr et sans succès.
    Je n'utilise pas de librairie.

    Avez-vous des connaissances sur le sujet ?

    Merci.



  • Hello,

    Des erreurs ?
    Peut-on voir ton code ?

    Sans plus d'information, même en ayant une idée sur le sujet, on ne peut pas forcément t'aider sans plus de détails…



  • Voilà le code

    	$time = time();
    
    	$parameters = array(
    		'oauth_consumer_key'     => flickr_KEY,
    		'oauth_nonce'            => sha1(flickr_AUTH),
    		'oauth_signature_method' => 'HMAC-SHA1',
    		'oauth_version'          => '1.0',
    		'oauth_callback'         => 'http://127.0.0.1/www/flickr_auth.php',
    		'format'                 => 'php_serial'
    	);
    
    	$flickr_url = 'http://www.flickr.com/services/oauth/request_token?';
    
    	foreach ($parameters as $key => $value)
    		$flickr_url .= urlencode($key).'=' . urlencode($value). '&';
    	$flickr_url .= 'oauth_signature=' . sha1(flickr_AUTH . $flickr_url);
    
    	file_get_contents($flickr_url);
    


  • Il me semble que l'encodage HMAC-SHA1 c'est pas "sha1()" mais hash_hmac('sha1', $chaine, $cle, true) normalement pour flickr d'après mes souvenir. Après c'est possible que ça fonctionne avec juste sha1(). Et je me demande d'ailleurs s'il ne fallait pas le passer dans une base64_encode()

    Ensuite, ton "file_get_contents" il faut peut-être récupérer le contenu dans une variable non ? :) Puis il te dis quoi si tu fais un echo du genre :

    $response = file_get_contents($flickr_url);
    echo $response;
    
    

    edit: après recherche, il faudrait bien mettre le base64_encode() autour de la signature. Du style :

    base64_encode(hash_hmac('sha1', $flickr_url, <cle secrete flickr>, true))
    

    $flickr_url = ton url avec tous les éléments dedans (à faire donc juste avant ton file_get_contents())



  • Oui effectivement y'a du base64_encode, je viens de trouver un script : http://www.dirtyhandsphp.com/2012/03/flickr-and-oauth.html

    Mais sur l'API, y'a rien d'indiquer s'il faut encoder en base64, enfin j'espère que ce script ci-dessus est le bon !



  • Petit soucis, la chose que je ne comprends c'est qu'il faut que l'utilisateur anonyme se connecte sur Flickr.


Log in to reply