[SPIP Zone] plugin google signin

Bonjour,

Très inspiré du plugin openid, j’ai commencé un plugin qui rajoute un bouton login google sur le formulaire de login.

Il faut d’abord que l’auteur associe son compte via le formulaire de modification auteur, ensuite il peux accéder à l’espace privé s’il a été identifié par google.

Je vais m’atteler rapidement à la documentation mais je me demandais où mettre tout ça.

Ça aurait sa place sur la zone ou plutôt dans les contribs?

Alexis.

Le 19/03/2019 à 13:30, Alexis a écrit :

Bonjour,

Très inspiré du plugin openid, j'ai commencé un plugin qui rajoute un bouton login google sur le formulaire de login.

Il faut d'abord que l'auteur associe son compte via le formulaire de modification auteur, ensuite il peux accéder à l'espace privé s'il a été identifié par google.

Je vais m'atteler rapidement à la documentation mais je me demandais où mettre tout ça.

Ça aurait sa place sur la zone ou plutôt dans les contribs?

Alexis.

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Salut,

le code a sa place sur la zone, la documentation sur contrib, pour le moment. Cela étant, je me pose demande s'il y a pas eu deja un truc du genre dans le passé, et si, par ailleurs, cela n'aurait pas plutot sa place comme une modif d'openid. Je me demande également si c'est très judiieux de proposer de se connecter via google.

Maïeul

Le plugin sur la zone dans un dossier sous plugins.
Et la documentation sur SPIP Contrib.

Bienvenue sur la zone

Si tu as la possibilité, écris plutôt un plugin qui nous débarrasse de Google :slight_smile:

Hello,

Le plugin MagicLogin permettait de se connecter via Twitter, Facebook, Google et Persona

Mais j’ai arrêté de le maintenir vu que Persona a été abandonné, que Twitter et FB n’arrêtent pas de changer leurs conditions d’utilisation de leur API et qu’il faut quasiment signer avec son sang pour avoir des clés d’API maintenant.
Et bon Google, quoi…

Mais sinon il y a tout dedans, la gestion de l’inscription, la connexion entre le compte auteurs SPIP et la plateforme distante lors de la première connexion (en gros la première fois que tu veux te connecter avec X on te dit « hé super, mais comme je connais pas encore ce compte connecte toi maintenant avec SPIP que je fasse le rapprochement »)

Cela dit il parait que maintenant l’avenir c’est WebAuthn API qui est directement prise en charge par les navigateurs

https://www.w3.org/TR/webauthn/

et apparemment déjà supportée par la dernière version des navigateurs modernes :

J’ai pas fait mes devoirs, mais de ce que j’ai compris l’authentification se passe sur le navigateur qui ensuite n’échange que des jetons avec le site web/l’appli.
Du coup plus de mot de passe qui circule et on peut avoir une seule ID, stockée sur le device, pour tous les sites.

J’attends un peu de voir un peu si ça prend ou si ça va tomber à l’eau comme tout le reste jusqu’ici, mais sinon il faudra y passer !

--
Cédric
Le 19 mars 2019 à 13:48 +0100, Maïeul <maieul@maieul.net>, a écrit :

Le 19/03/2019 à 13:30, Alexis a écrit :
> Bonjour,
>
> Très inspiré du plugin openid, j'ai commencé un plugin qui rajoute un
> bouton login google sur le formulaire de login.
>
> Il faut d'abord que l'auteur associe son compte via le formulaire de
> modification auteur, ensuite il peux accéder à l'espace privé s'il a été
> identifié par google.
>
> Je vais m'atteler rapidement à la documentation mais je me demandais où
> mettre tout ça.
>
> Ça aurait sa place sur la zone ou plutôt dans les contribs?
>
>
> Alexis.
>
> ----
> spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone
>
Salut,

le code a sa place sur la zone, la documentation sur contrib, pour le
moment. Cela étant, je me pose demande s'il y a pas eu deja un truc du
genre dans le passé, et si, par ailleurs, cela n'aurait pas plutot sa
place comme une modif d'openid. Je me demande également si c'est très
judiieux de proposer de se connecter via google.

Maïeul

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Effectivement y a tout là dedans :slight_smile:
Du coup il faut que j'adapte ce que j'avais commencé pour que ça s'intègre
à ce que tu as déjà fait.
Merci pour ces informations.

Le mar. 19 mars 2019 16:35, Cerdic <cedric@yterium.com> a écrit :

Hello,

Le plugin MagicLogin permettait de se connecter via Twitter, Facebook,
Google et Persona
GitHub - nursit/magiclogin

Mais j’ai arrêté de le maintenir vu que Persona a été abandonné, que
Twitter et FB n’arrêtent pas de changer leurs conditions d’utilisation de
leur API et qu’il faut quasiment signer avec son sang pour avoir des clés
d’API maintenant.
Et bon Google, quoi…

Mais sinon il y a tout dedans, la gestion de l’inscription, la connexion
entre le compte auteurs SPIP et la plateforme distante lors de la première
connexion (en gros la première fois que tu veux te connecter avec X on te
dit « hé super, mais comme je connais pas encore ce compte connecte toi
maintenant avec SPIP que je fasse le rapprochement »)

Cela dit il parait que maintenant l’avenir c’est WebAuthn API qui est
directement prise en charge par les navigateurs

https://webauthn.guide/
Web Authentication: An API for accessing Public Key Credentials - Level 2
Web Authentication API - Web APIs | MDN

et apparemment déjà supportée par la dernière version des navigateurs
modernes :

Can I use... Support tables for HTML5, CSS3, etc

J’ai pas fait mes devoirs, mais de ce que j’ai compris l’authentification
se passe sur le navigateur qui ensuite n’échange que des jetons avec le
site web/l’appli.
Du coup plus de mot de passe qui circule et on peut avoir une seule ID,
stockée sur le device, pour tous les sites.

J’attends un peu de voir un peu si ça prend ou si ça va tomber à l’eau
comme tout le reste jusqu’ici, mais sinon il faudra y passer !

--
Cédric
Le 19 mars 2019 à 13:48 +0100, Maïeul <maieul@maieul.net>, a écrit :

Le 19/03/2019 à 13:30, Alexis a écrit :

Bonjour,

Très inspiré du plugin openid, j'ai commencé un plugin qui rajoute un
bouton login google sur le formulaire de login.

Il faut d'abord que l'auteur associe son compte via le formulaire de
modification auteur, ensuite il peux accéder à l'espace privé s'il a été
identifié par google.

Je vais m'atteler rapidement à la documentation mais je me demandais où
mettre tout ça.

Ça aurait sa place sur la zone ou plutôt dans les contribs?

Alexis.

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Salut,

le code a sa place sur la zone, la documentation sur contrib, pour le
moment. Cela étant, je me pose demande s'il y a pas eu deja un truc du
genre dans le passé, et si, par ailleurs, cela n'aurait pas plutot sa
place comme une modif d'openid. Je me demande également si c'est très
judiieux de proposer de se connecter via google.

Maïeul

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Salut,

Alexis, pour ton plugin Signin tu pourrais étendre magicLogin afin de
laisser le choix aux webmasters ;
il faut conserver action/magiclogin_with_google.php et créer un nouveau
fichier action/magiclogin_with_google_signin.php
En ce qui concerne le js intrusif tu peux utiliser un pipeline insert_head
en appellant le JS avec un attribut 'id=' pour esquiver le compresseur :wink:
ça permettrait de conditionner l’insértion du js uniquement pour les
utilisateurs utilisant l'auth signin.

Je suis en train de faire un tour d'horizon des méthodes
d'authentifications:
Pour google et twitter magiclogin semble fonctionner correctement. (voir
mon commentaire sur ta PR)
Pour facebook je tombe ici

;
j'ai pas eu le temps de regarder en détail mais ça doit pas être bien
méchant.

La tâche la plus pénible sur ce genre d'outil c'est bien la configuration
du fournisseur d'identité.
Bien que les fournisseurs d'ID soit des boites de merde le protocole 0auth
est libre et à le mérite d'exister et en plus d'être utilisé

Voilà, @+

Le mer. 20 mars 2019 à 16:23, Alexis <pellice@gmail.com> a écrit :

Effectivement y a tout là dedans :slight_smile:
Du coup il faut que j'adapte ce que j'avais commencé pour que ça s'intègre
à ce que tu as déjà fait.
Merci pour ces informations.

Le mar. 19 mars 2019 16:35, Cerdic <cedric@yterium.com> a écrit :

Hello,

Le plugin MagicLogin permettait de se connecter via Twitter, Facebook,
Google et Persona
GitHub - nursit/magiclogin

Mais j’ai arrêté de le maintenir vu que Persona a été abandonné, que
Twitter et FB n’arrêtent pas de changer leurs conditions d’utilisation de
leur API et qu’il faut quasiment signer avec son sang pour avoir des clés
d’API maintenant.
Et bon Google, quoi…

Mais sinon il y a tout dedans, la gestion de l’inscription, la connexion
entre le compte auteurs SPIP et la plateforme distante lors de la première
connexion (en gros la première fois que tu veux te connecter avec X on te
dit « hé super, mais comme je connais pas encore ce compte connecte toi
maintenant avec SPIP que je fasse le rapprochement »)

Cela dit il parait que maintenant l’avenir c’est WebAuthn API qui est
directement prise en charge par les navigateurs

https://webauthn.guide/
Web Authentication: An API for accessing Public Key Credentials - Level 2
Web Authentication API - Web APIs | MDN

et apparemment déjà supportée par la dernière version des navigateurs
modernes :

Can I use... Support tables for HTML5, CSS3, etc

J’ai pas fait mes devoirs, mais de ce que j’ai compris l’authentification
se passe sur le navigateur qui ensuite n’échange que des jetons avec le
site web/l’appli.
Du coup plus de mot de passe qui circule et on peut avoir une seule ID,
stockée sur le device, pour tous les sites.

J’attends un peu de voir un peu si ça prend ou si ça va tomber à l’eau
comme tout le reste jusqu’ici, mais sinon il faudra y passer !

--
Cédric
Le 19 mars 2019 à 13:48 +0100, Maïeul <maieul@maieul.net>, a écrit :

Le 19/03/2019 à 13:30, Alexis a écrit :

Bonjour,

Très inspiré du plugin openid, j'ai commencé un plugin qui rajoute un
bouton login google sur le formulaire de login.

Il faut d'abord que l'auteur associe son compte via le formulaire de
modification auteur, ensuite il peux accéder à l'espace privé s'il a été
identifié par google.

Je vais m'atteler rapidement à la documentation mais je me demandais où
mettre tout ça.

Ça aurait sa place sur la zone ou plutôt dans les contribs?

Alexis.

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Salut,

le code a sa place sur la zone, la documentation sur contrib, pour le
moment. Cela étant, je me pose demande s'il y a pas eu deja un truc du
genre dans le passé, et si, par ailleurs, cela n'aurait pas plutot sa
place comme une modif d'openid. Je me demande également si c'est très
judiieux de proposer de se connecter via google.

Maïeul

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Bonjour,

Quand j'ai cherché comment utiliser google pour faire un login spip je ne
suis malheureusement pas tombé sur le plugin tout de suite et google pousse
tout ce qu'il peut pour que soit utilisé goole signin. J'ai même cru un
moment que oauth2 était abandonné depuis début mars. Après les remarques de
Cédric sur le côté intrusif du js goole et vu que la version oauth2 de
magiclogin fonctionne c'est celle-ci que j'utilise finalement. Cela dit
laisser le choix peut-être une option.

En ce qui concerne le javascript conditionnel, pour pouvoir utiliser google
signin il faut le bouton et pour le bouton il faut le javascript donc sur
le formulaire de login que l'on utilise ou pas le bouton le js est chargé
et je ne vois pas comment éviter cela.

Bonne journée.

Le ven. 29 mars 2019 à 00:57, pierre laszczak <pierre.laszczak@gmail.com> a
écrit :

Salut,

Alexis, pour ton plugin Signin tu pourrais étendre magicLogin afin de
laisser le choix aux webmasters ;
il faut conserver action/magiclogin_with_google.php et créer un nouveau
fichier action/magiclogin_with_google_signin.php
En ce qui concerne le js intrusif tu peux utiliser un pipeline insert_head
en appellant le JS avec un attribut 'id=' pour esquiver le compresseur :wink:
ça permettrait de conditionner l’insértion du js uniquement pour les
utilisateurs utilisant l'auth signin.

Je suis en train de faire un tour d'horizon des méthodes
d'authentifications:
Pour google et twitter magiclogin semble fonctionner correctement. (voir
mon commentaire sur ta PR)
Pour facebook je tombe ici
magiclogin/action/magiclogin_with_facebook.php at master · nursit/magiclogin · GitHub
;
j'ai pas eu le temps de regarder en détail mais ça doit pas être bien
méchant.

La tâche la plus pénible sur ce genre d'outil c'est bien la configuration
du fournisseur d'identité.
Bien que les fournisseurs d'ID soit des boites de merde le protocole 0auth
est libre et à le mérite d'exister et en plus d'être utilisé

Voilà, @+

Le mer. 20 mars 2019 à 16:23, Alexis <pellice@gmail.com> a écrit :

Effectivement y a tout là dedans :slight_smile:
Du coup il faut que j'adapte ce que j'avais commencé pour que ça
s'intègre à ce que tu as déjà fait.
Merci pour ces informations.

Le mar. 19 mars 2019 16:35, Cerdic <cedric@yterium.com> a écrit :

Hello,

Le plugin MagicLogin permettait de se connecter via Twitter, Facebook,
Google et Persona
GitHub - nursit/magiclogin

Mais j’ai arrêté de le maintenir vu que Persona a été abandonné, que
Twitter et FB n’arrêtent pas de changer leurs conditions d’utilisation de
leur API et qu’il faut quasiment signer avec son sang pour avoir des clés
d’API maintenant.
Et bon Google, quoi…

Mais sinon il y a tout dedans, la gestion de l’inscription, la connexion
entre le compte auteurs SPIP et la plateforme distante lors de la première
connexion (en gros la première fois que tu veux te connecter avec X on te
dit « hé super, mais comme je connais pas encore ce compte connecte toi
maintenant avec SPIP que je fasse le rapprochement »)

Cela dit il parait que maintenant l’avenir c’est WebAuthn API qui est
directement prise en charge par les navigateurs

https://webauthn.guide/
Web Authentication: An API for accessing Public Key Credentials - Level 2
Web Authentication API - Web APIs | MDN

et apparemment déjà supportée par la dernière version des navigateurs
modernes :

Can I use... Support tables for HTML5, CSS3, etc

J’ai pas fait mes devoirs, mais de ce que j’ai compris
l’authentification se passe sur le navigateur qui ensuite n’échange que des
jetons avec le site web/l’appli.
Du coup plus de mot de passe qui circule et on peut avoir une seule ID,
stockée sur le device, pour tous les sites.

J’attends un peu de voir un peu si ça prend ou si ça va tomber à l’eau
comme tout le reste jusqu’ici, mais sinon il faudra y passer !

--
Cédric
Le 19 mars 2019 à 13:48 +0100, Maïeul <maieul@maieul.net>, a écrit :

Le 19/03/2019 à 13:30, Alexis a écrit :

Bonjour,

Très inspiré du plugin openid, j'ai commencé un plugin qui rajoute un
bouton login google sur le formulaire de login.

Il faut d'abord que l'auteur associe son compte via le formulaire de
modification auteur, ensuite il peux accéder à l'espace privé s'il a été
identifié par google.

Je vais m'atteler rapidement à la documentation mais je me demandais où
mettre tout ça.

Ça aurait sa place sur la zone ou plutôt dans les contribs?

Alexis.

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Salut,

le code a sa place sur la zone, la documentation sur contrib, pour le
moment. Cela étant, je me pose demande s'il y a pas eu deja un truc du
genre dans le passé, et si, par ailleurs, cela n'aurait pas plutot sa
place comme une modif d'openid. Je me demande également si c'est très
judiieux de proposer de se connecter via google.

Maïeul

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

En pratique difficile de conditionner l’insertion du JS signin aux utilisateurs l’utilisant, car pas définition l’utilisateur n’est pas encore connecté, tu es donc obligé d’insérer le JS signin pour tout le monde pour que ceux qui veulent l’utilisent.
Et du coup ça espionne tout le monde… :frowning:

Donc je serai tenté de dire que tant que oauth2 fonctionne, il ne fait pas proposer google signin, car le second étant plus facile à configurer les utilisateurs/webmestres pas conscient des enjeux l’utiliseront de préférence et c’est dommage

--
Cédric
Le 28 mars 2019 à 22:57 +0100, pierre laszczak <pierre.laszczak@gmail.com>, a écrit :

Salut,

Alexis, pour ton plugin Signin tu pourrais étendre magicLogin afin de laisser le choix aux webmasters ;
il faut conserver action/magiclogin_with_google.php et créer un nouveau fichier action/magiclogin_with_google_signin.php
En ce qui concerne le js intrusif tu peux utiliser un pipeline insert_head en appellant le JS avec un attribut 'id=' pour esquiver le compresseur :wink:
ça permettrait de conditionner l’insértion du js uniquement pour les utilisateurs utilisant l'auth signin.

Je suis en train de faire un tour d'horizon des méthodes d'authentifications:
Pour google et twitter magiclogin semble fonctionner correctement. (voir mon commentaire sur ta PR)
Pour facebook je tombe ici magiclogin/action/magiclogin_with_facebook.php at master · nursit/magiclogin · GitHub ;
j'ai pas eu le temps de regarder en détail mais ça doit pas être bien méchant.

La tâche la plus pénible sur ce genre d'outil c'est bien la configuration du fournisseur d'identité.
Bien que les fournisseurs d'ID soit des boites de merde le protocole 0auth est libre et à le mérite d'exister et en plus d'être utilisé

Voilà, @+

> Le mer. 20 mars 2019 à 16:23, Alexis <pellice@gmail.com> a écrit :
> > Effectivement y a tout là dedans :slight_smile:
> > Du coup il faut que j'adapte ce que j'avais commencé pour que ça s'intègre à ce que tu as déjà fait.
> > Merci pour ces informations.
> >
> > > Le mar. 19 mars 2019 16:35, Cerdic <cedric@yterium.com> a écrit :
> > > > Hello,
> > > >
> > > > Le plugin MagicLogin permettait de se connecter via Twitter, Facebook, Google et Persona
> > > > GitHub - nursit/magiclogin
> > > >
> > > > Mais j’ai arrêté de le maintenir vu que Persona a été abandonné, que Twitter et FB n’arrêtent pas de changer leurs conditions d’utilisation de leur API et qu’il faut quasiment signer avec son sang pour avoir des clés d’API maintenant.
> > > > Et bon Google, quoi…
> > > >
> > > > Mais sinon il y a tout dedans, la gestion de l’inscription, la connexion entre le compte auteurs SPIP et la plateforme distante lors de la première connexion (en gros la première fois que tu veux te connecter avec X on te dit « hé super, mais comme je connais pas encore ce compte connecte toi maintenant avec SPIP que je fasse le rapprochement »)
> > > >
> > > >
> > > > Cela dit il parait que maintenant l’avenir c’est WebAuthn API qui est directement prise en charge par les navigateurs
> > > >
> > > > https://webauthn.guide/
> > > > Web Authentication: An API for accessing Public Key Credentials - Level 2
> > > > Web Authentication API - Web APIs | MDN
> > > >
> > > > et apparemment déjà supportée par la dernière version des navigateurs modernes :
> > > >
> > > > Can I use... Support tables for HTML5, CSS3, etc
> > > >
> > > > J’ai pas fait mes devoirs, mais de ce que j’ai compris l’authentification se passe sur le navigateur qui ensuite n’échange que des jetons avec le site web/l’appli.
> > > > Du coup plus de mot de passe qui circule et on peut avoir une seule ID, stockée sur le device, pour tous les sites.
> > > >
> > > > J’attends un peu de voir un peu si ça prend ou si ça va tomber à l’eau comme tout le reste jusqu’ici, mais sinon il faudra y passer !
> > > >
> > > > --
> > > > Cédric
> > > > Le 19 mars 2019 à 13:48 +0100, Maïeul <maieul@maieul.net>, a écrit :
> > > > > Le 19/03/2019 à 13:30, Alexis a écrit :
> > > > > > Bonjour,
> > > > > >
> > > > > > Très inspiré du plugin openid, j'ai commencé un plugin qui rajoute un
> > > > > > bouton login google sur le formulaire de login.
> > > > > >
> > > > > > Il faut d'abord que l'auteur associe son compte via le formulaire de
> > > > > > modification auteur, ensuite il peux accéder à l'espace privé s'il a été
> > > > > > identifié par google.
> > > > > >
> > > > > > Je vais m'atteler rapidement à la documentation mais je me demandais où
> > > > > > mettre tout ça.
> > > > > >
> > > > > > Ça aurait sa place sur la zone ou plutôt dans les contribs?
> > > > > >
> > > > > >
> > > > > > Alexis.
> > > > > >
> > > > > > ----
> > > > > > spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone
> > > > > >
> > > > > Salut,
> > > > >
> > > > > le code a sa place sur la zone, la documentation sur contrib, pour le
> > > > > moment. Cela étant, je me pose demande s'il y a pas eu deja un truc du
> > > > > genre dans le passé, et si, par ailleurs, cela n'aurait pas plutot sa
> > > > > place comme une modif d'openid. Je me demande également si c'est très
> > > > > judiieux de proposer de se connecter via google.
> > > > >
> > > > > Maïeul
> > > > >
> > > > > ----
> > > > > spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone
> > > > ----
> > > > spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone
> > ----
> > spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Le 29/03/2019 à 08:46, Cerdic a écrit :

Donc je serai tenté de dire que tant que oauth2 fonctionne, il ne fait pas proposer google signin, car le second étant plus facile à configurer les utilisateurs/webmestres pas conscient des enjeux l’utiliseront de préférence et c’est dommage

ce serait plus que ça, il faut absolument éviter ça dans SPIP,
merci d'avance :o)

--

----
chan

Le 29/03/2019 à 08:52, chankalan@choc0.net a écrit :

Le 29/03/2019 à 08:46, Cerdic a écrit :

Donc je serai tenté de dire que tant que oauth2 fonctionne, il ne fait pas proposer google signin, car le second étant plus facile à configurer les utilisateurs/webmestres pas conscient des enjeux l’utiliseront de préférence et c’est dommage

ce serait plus que ça, il faut absolument éviter ça dans SPIP,
merci d'avance :o)

Sans aller jusqu'à l'interdire, il faut effectivement tout faire pour éviter de proposer des plugins avec des scripts intrusifs dans SPIP.
Ça va à l'encontre de nos valeurs, cf le Manifeste du web indépendant, écrit en 1997 mais toujours si actuel (et fondateur de SPIP) :
http://www.uzine.net/article60.html

--
nicod_