Google Friend Connect (SPIP 2.0).

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

IMPORTANT : une version compatible SPIP 1.9 existe ici :

http://www.spip-contrib.net/Google-Friend-Connect

Je n’ai pas pu tester complètement la version pour SPIP 2.0 car le site que j’ai enregistré chez Google est toujours en 1.9, merci de signaler tout bug éventuel.

Plugin qui permet une authentification des auteurs en utilisant Google Friend Connect (à l’image des plugins pour OpenId et Facebook).

Pour découvrir Google Friend Connect, vous pouvez consulter la page officielle de présentation :

http://www.google.com/friendconnect/home/intro

Pour utiliser ce plugin, votre site devra au préalable s’enregistrer en ligne auprès de Google, afin d’obtenir vos identifiants qui vous permettront d’utiliser Google Friend Connect sur vos pages. Il suffira de reporter vos identifiants dans le fichier gfc_options.php.

Ce plugin essaie de proposer le maximum de fonctionnalités afin de permettre à nos auteurs de se connecter avec leurs identifiants compatibles Google Friend Connect (gmail, yahoo, etc.).

Pour le moment, seul un système d’autentification est fonctionel, mais il serait sympathique d’ajouter des fonctionalités comme l’envoi ou la lecture de news feed, l’envoi de messages à des membres, etc. sans avoir à implémenter les fonctions javascript, qui ne sont pas du tout pratiques pour les actions server-side. La clé est l’utilisation de la librairie PHP OpenSocial, en développement ici.

Principe actuel de connexion :

Si un membre se connecte normalement à SPIP, puis à l’interface Google Friend Connect, un lien sera créé automatiquement entre le compte SPIP et le compte Google Friend Connect. Les fois suivantes, le membre pourra directement se connecter avec Google Friend Connect et son authentification SPIP se fera dans la foulée.

Si un utilisateur se connecte directement à Google Friend Connect sans être authentifié dans SPIP, alors on vérifie si le compte Google Friend Connect est associé à un compte SPIP. Si c’est le cas on fait l’authentification SPIP correspondante automatiquement, sinon on crée un compte automatiquement et effectue la connexion SPIP dans la foulée.

Dans le cas d’une création automatique de compte SPIP, les informations sont pour le moment les suivantes :

-  login : Formatage du DisplayName de GFC
-  nom : Copie conforme du DisplayName de GFC
-  email : email par défaut défini dans la configuration (fichier gfc_options.php)

Mise en place :

-  placez la balise #GFC_LOGIN_BUTTON dans votre page pour afficher l’interface de connexion avec Google Friend Connect. On peut donner comme argument à cette balise un url, qui sera le lien de redirection après l’authentification. Si ce paramètre est absent, on redirigera par défaut sur la page actuelle.

#GFC_LOGIN_BUTTON{http://www.monsite.com/mapage.html}

Après avoir cliqué sur ce bouton, vos visiteurs verront une fenêtre popup aparaitre et devront se connecter en deux étapes :

1. Choix du réseau pour s’identifier

2. Identification

-  éventuellement, placez/remplacez un lien pour se déconnecter dans votre page. Ce lien doit enclencher la fonction javascript gfc_logout(url), où ’url’ est l’url de déconnexion habituel de votre site.

exemple :

<a href="http://www.monsite.com/logout.html">logout</a>

devient

<a onclick="gfc_signout('http://www.monsite.com/logout.html');" href="#">logout</a>

Dès lors, il est tout à fait possible de placer dans vos pages différentes interfaces proposées par Google Friend Connect (gestion de compte, invitations,etc.), toutes en Javascript.

En ce qui concerne l’installation/désinstallation du plugin (fichier base/gfc_install.php), je ne suis pas très sur de ce que je fais, j’ai essayé de prendre du code d’autres plugins pour l’adapter. Tous les conseils sont les bienvenus.

Le prochain point que je dois régler est la connexion automatique à SPIP quand on retourne sur notre site et que la connexion à GFC a persisté. Pour le moment on peut tomber dans une situation ou on retourne sur le site, on est logué à GFC mais pas à SPIP, ce qui peut créer des situations de blocage.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom