[Galette-devel] Galette & OAuth

[ Thread Index | Date Index | More lists.galette.eu/devel Archives ]


Salut,

Je me suis récemment penché sur la question de l'intégration de « OAuth
» dans Galette. À l'heure où j'écris ces lignes, je ne sais même pas
encore vraiment si c'est réellement envisageable, mais...

Tout ceci part du besoin exprimé de pouvoir lier Galette à d'autres
systèmes, pour de l'authentification notamment (et plus si affinités ?).
Le truc, c'est que je n'y connais absolument rien, et que c'est quelque
chose qui ne semble pas forcément facile à faire. Bon, soit, c'est mon
taff me direz-vous ;)

En revanche, j'ai tout de même des interrogations et points à soulever ;
j'aimerai vous en faire part et avoir vos avis :)

L'idée, c'est donc que Galette devienne un serveur OAuth pour des
services tiers (sites, forums, etc...) pour le peu qu'ils fournissent un
client OAuth (normalement, c'est au moins possible sous forme de plugins
dans la plupart des systèmes « majeurs », non ?).

Je pense que l'on pourrait ainsi authentifier pour un forum un adhérent
pour lui donner automatiquement l'accès à des parties du forum
restreintes aux seuls membres.

Je suppose que l'inverse pourrait aussi avoir du sens, mais à mon avis,
c'est un peu moins intéressant bien que ce serait certainement moins
compliqué. Chaque chose en son temps de toutes façons.

Sur l'aspect technique, j'ai un peu regardé ce que propose phpleague et
ça m'a semblé pas mal :
https://oauth2.thephpleague.com

Tout cela requiert pas mal de travail, notamment à priori pour
implémenter toutes les interfaces nécessaires et les adapter à Galette
(voir l'exemple fourni par league :
https://github.com/thephpleague/oauth2-server/tree/master/examples/src).

Plusieurs modes d'authentification semble disponibles, je ne sais pas
encore s'il est obligatoire/nécessaire de tout implémenter, ni ce que ça
représente exactement. Je ne sais pas non plus si/comment limiter les
application autorisées à se connecter via Galette par ce protocole, ...

De ce que j'en vois, il faudrait certainement ajouter quelques tables en
base (et tout ce qui va autour), pour le reste, ça sera basé
principalement sur l'adhérent et les méthodes d'authentification existantes.

L'installation côté utilisateur est un peu compliquée aussi, d'après ce
que j'en ai compris. Il nous faut une clé générée par openssl que
Galette ne peut pas fournir (en termes de sécurité, ça ne serait pas
top), et une clé de chiffrement (il est possible d'en générer une à
l'installation/mise à jour et de la stocker dans les données de
configuration de Galette).

Voilà voilà, si vous avez des remarques ou questions sur le sujet, ça
m'intéresserait très fortement de vous lire :)

++
-- 
Johan

Attachment: signature.asc
Description: OpenPGP digital signature



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/