New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Centralisation de l'authentification #144

Open
mdamien opened this Issue May 15, 2016 · 3 comments

Comments

Projects
None yet
3 participants
@mdamien
Contributor

mdamien commented May 15, 2016

Hello, ce serait bien d'avoir un provider OAuth special nuit debout pour eviter la multiplcation des comptes, faciliter l'ajout de services et la moderation.

En clair, je suis parti pour utiliser python-oauth2 car je suis experimenté en python et mettre ca sur un serv de test. Apres ce serait bien que ce soit sur auth.nuitdebout.fr.

On pourra planifier la migration des comptes ensuite / accepter les deux systemes.

EDIT: Apres lecture de http://www.pydanny.com/the-sorry-state-of-python-oauth-providers.html, mon choix se porte desormais sur https://github.com/evonove/django-oauth-toolkit.

EDIT2: La solution ideal c'est d'utiliser un plugin wordpress vu que c'est deja l'element central de l'infra. Mais le dev est parti en mode closed-source pour les fonctionnalités avancés (sinon le reste est GPL v2)

NOTE: WP OAuth Server 3.2.0 Supports all grant types including:

  • Auth Code
  • Client Credentials
  • User Credentials
  • Implicit Flow
  • OpenID Code
  • OpenID Implicit

You can purchase 3.2 + by visiting http://wp-oauth.com.

De plus, baser notre auth sur du wordpress...ya mieux comme securité.

EDIT3: Autre chose, ajouter 2 factor auth serait pas mal aussi

EDIT4: Autre protocole possible, le CAS. Supporté par Rocket.Chat, Wordpress et le wiki. D'apres ce post le compromis c'est que tu pas proposer plusieurs providers.

On peut l'ajouter direct a wordpress via ce plugin qui est pas mega maintenu mais le protocole est simple de toute facon.

EDIT5: Je suis bloqué sur l'installation des box vagrant/docker mais la solution de base devrait etre plutot straightforward:

diff --git a/ansible/site.yml b/ansible/site.yml
index fd67079..c93e7de 100644
--- a/ansible/site.yml
+++ b/ansible/site.yml
@@ -58,5 +58,6 @@
         - contact-form-7
         - login-lockdown
         - enhanced-media-library
+        - wp-cas-server
   roles:
     - wordpress

EDIT6: La PR est faite, ma vagrant est ok

@mdamien mdamien changed the title from Centralisation de l'authentification via OAuth to Centralisation de l'authentification May 15, 2016

mdamien added a commit to mdamien/wordpress that referenced this issue May 17, 2016

@Atala

This comment has been minimized.

Show comment
Hide comment
@Atala

Atala May 17, 2016

Contributor

Il y a déjà une équipe qui bosse là-dessus, rejoindre le channel #sso dans le chat.

Contributor

Atala commented May 17, 2016

Il y a déjà une équipe qui bosse là-dessus, rejoindre le channel #sso dans le chat.

@mdamien

This comment has been minimized.

Show comment
Hide comment
@mdamien

mdamien May 17, 2016

Contributor

@Atala je l'ai fait, ils etaient content que je reprenne le boulot sur le sujet 😃

Contributor

mdamien commented May 17, 2016

@Atala je l'ai fait, ils etaient content que je reprenne le boulot sur le sujet 😃

@Lapin0t

This comment has been minimized.

Show comment
Hide comment
@Lapin0t

Lapin0t May 18, 2016

Ca me parait cool d'avoir du sso effectivement. Pour ce qui est du serveur il y a authentic 2 fait par une SCOP française qui à l'air super (il faut les contacter, ils ont peut-être des devs qui pourraient nous aider). Par contre OAuth n'est pas un protocol d'authentification mais d'autorisation (c'est beaucoup plus faible), donc bof bof. Mais CAS, SAML ou OpenID sont plutôt bien je crois.

Lapin0t commented May 18, 2016

Ca me parait cool d'avoir du sso effectivement. Pour ce qui est du serveur il y a authentic 2 fait par une SCOP française qui à l'air super (il faut les contacter, ils ont peut-être des devs qui pourraient nous aider). Par contre OAuth n'est pas un protocol d'authentification mais d'autorisation (c'est beaucoup plus faible), donc bof bof. Mais CAS, SAML ou OpenID sont plutôt bien je crois.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment