Annonce

  •  » Utilisation
  •  » Authentification via un site distant (externe)

#16 2010-01-02 11:33:19

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

Je vais essayé de passer un peu de temps sur ton sujet ce we.
Si tu peux passer assez régulièrement pour répondre à mes éventuelles questions.
@+


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#17 2010-01-02 11:48:08

Canta!
Membre
2009-12-27
15

Re: Authentification via un site distant (externe)

Merci beaucoup !

Hors ligne

#18 2010-01-02 18:15:47

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

(Pas de problème pour l'instant - A suivre).


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#19 2010-01-03 00:43:48

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

Je crois que cela sera dispo sous la forme d'un plugin.
J'ai un peu d'habillage à réaliser, et je te l'envoi.
Je posterai ici uniquement la logique et les grandes lignes.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#20 2010-01-03 21:23:56

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

[extension by Piwigo Team] LocalFiles Editor active

Onglet configuration, ajout à l'intérieur de:

$conf['external_connection_api'] = 'http://nomdusiteprincipal.fr/api.php?user=%s&pass=%s&type=echodata';



Bien entendu tu l'adapteras en fonction du nom du site.
Je n'ai pas encore testé une seule ligne de ce que j'ai écrit.
Je vais commencer les tests, quand ils me sembleront corrects, je t'enverrai le zip.
Finalement, c'était un peu plus "coton" que je ne le pensais.
Mais cela va fonctionner.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#21 2010-01-03 21:38:09

Canta!
Membre
2009-12-27
15

Re: Authentification via un site distant (externe)

Génial ! C'est vraiment super de ta part.

j'attends donc ton zip.

Merci

Hors ligne

#22 2010-01-03 23:38:30

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

J'ai été un peu optimiste.

Pour les spécialistes:
Je rencontre un problème dit de portée de variable (http://php.net/manual/fr/language.variables.scope.php).
Les fonctions anonymes (http://fr.php.net/manual/fr/function.cr … nction.php) ne peuvent pas atteindre les variables que la fonction qui les utilisent.

Plus précisément:
La fonction try_log_user renseigne un tableau $row.
J'ai besoin de modifier le mot de passe, l'id et le userid mais $row est hors d'atteinte.

A ton niveau: retiens seulement que les tests ne me donnent donc pas satisfaction.
Je continuerai à chercher dans les prochains jours.
Je vais trouver une solution.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#23 2010-01-04 10:04:23

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Authentification via un site distant (externe)

Si je comprend bien, tu veux modifier $conf['pass_convert'], mais je ne suis pas sur que ce soit vraiment la solution la plus simple!

Pourquoi ne pas utiliser le trigger login_failure?

Voila ce que je ferai en très gros (il faudra surement faire quelque chose d'un peu plus poussé pour l'enregistrement de l'utilisateur dans la base de piwigo, surtout si on veut garder le meme id que la table externe)

Code:

add_event_handler('login_failure', 'try_external_identification')

function try_external_identification($username)
{
  global $redirect_to, $remember_me;

  $fp = fopen('http://nom_de_mon_site/api.php?user='. $username.'&pass='. md5($_POST['password'])).'&type=echodata','r');
  $d = fgets($fp);
  $g = split("//",$d);
  $userid = (int)($g[0]);
  fclose($fp);

  if ($userid > 0)
  {
    // Enregistrement simple de l'utilisateur (avec un nouvel id)
    // Prévoir un enregistrement avec le meme identifiant externe ($userid)
    $error = register_user($username, md5($_POST['password']), '');
    if (empty($error))
    {
      log_user(get_userid($username), $remember_me);
      redirect(empty($redirect_to) ? make_index_url() : $redirect_to);
    }
  }
}

P@t

Hors ligne

#24 2010-01-04 13:31:40

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

Génial! notre ami P@t.
Alors que je tentais désespérement d'anticiper le résultat d'un test...
http://code.piwigo.org/repositories/ent … .php#L1045

Parce que le trigger 'login_failure' était suivi d'un return false.

Voilà qu'il me propose une démarche inverse, anticipant le log_user(get_userid($username), $remember_me);

Génial! Merci bien, P@t.

Comme j'ai déjà réglé la partie de code traitant le point:
    // Enregistrement simple de l'utilisateur (avec un nouvel id)
    // Prévoir un enregistrement avec le meme identifiant externe ($userid)

Je devrais, je pense ce soir, pouvoir livrer le code adhoc.
;-)




@Canta!
Laisse en place le:

$conf['external_connection_api'] = 'http://nomdusiteprincipal.fr/api.php?user=%s&pass=%s&type=echodata';

Je l'utiliserai dans la version finale.
;-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#25 2010-01-04 22:24:30

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

@Cata!

Est-ce que le"username" ou le "surnom" ou le "pseudo", bref le nom de l'utilisateur dans la base de l'école est unique ou non?


En clair:
Le pseudo va-t-il obligatoirement être différent?
ou
peut-il être repris au fil des ans (le pat (id=17423) de 1998 n'est pas le pat (20218) de 2003, ni le pat (23741) de 2009)?


Cela change totalement la logique pour moi (et pour la solution encore partielle de P@t).

Un premier zip envoyé!

----------------
[P@t, je saurai traiter les 2 cas (évidemment si ton hypothèse est bonne c'est simple)].


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#26 2010-01-05 00:54:01

Canta!
Membre
2009-12-27
15

Re: Authentification via un site distant (externe)

Merci VDigital pour ton mail!
Je test se que tu m'as envoyé rapidement.

Concernant ta précédente question, voici la réponse que l'on m'a transmise:
"dans la db il y a un champ "pseudo" (utilisé) pour se logguer, qui est unique. L'autre champ "surnom" n'est pas unique (utilisé pour l'affichage)"

Hors ligne

#27 2010-01-05 01:05:41

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

Je pouvais encore faire plus simple.

Est-ce que ton installation utiliserait par hasard la même database que celle de l'école?


Piwigo ne gèrera pas le surnom et le pseudo sera affiché...
Bonjour cant128 !

au lieu de :
Bonjour Canta! !



Ton id dans la base de l'école? ( Webmaster id? qui viendra se substituer à l'id=1 de Piwigo)
L'id du guest ? (Utisateur bidon de la base de l'école, qui deviendra le guest (id=2) de Piwigo)

???


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#28 2010-01-08 10:58:02

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

J'ai reçu ton mail, je regarde ça ce soir.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#29 2010-01-10 08:02:03

Canta!
Membre
2009-12-27
15

Re: Authentification via un site distant (externe)

Après mes tests du zip que tu m'as envoyé, la connexion des utilisateurs fonctionne correctement ! Mais une seule fois...

La seconde fois que l'utilisateur souhaite se reconnecter, la connexion lui sera refusée. Motif: "Mot de passe invalide !"

Hors ligne

#30 2010-01-10 09:44:10

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Authentification via un site distant (externe)

Je vais jeter un œil (et le récupérer immédiatement, je pourrai encore en avoir besoin).

;-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

  •  » Utilisation
  •  » Authentification via un site distant (externe)

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact