63 votes

Mise en œuvre de l'authentification unique (SSO) avec Django

J'aimerais utiliser Django pour mettre en œuvre l'authentification unique (SSO) pour plusieurs applications que nous utilisons actuellement. Comment puis-je mettre cela en œuvre en utilisant Django ?

0 votes

Utilisez-vous déjà un mécanisme SSO pour les autres applications ? S'agit-il également d'applications Django ? (si oui, sont-elles hébergées sur le même domaine)

15voto

S.Lott Points 207588

Nous utilisons OpenAM. http://forgerock.com/openam.html

Le cookie OpenAM signifie que l'utilisateur est authentifié.

Un système d'authentification est assez simple à mettre en place. Moins de 50 lignes de code.

https://docs.djangoproject.com/en/3.1/topics/auth/customizing/#other-authentication-sources

Nous avons écrit un petit bout de code qui fait une requête RESTful au serveur OpenAM pour obtenir les informations sur l'utilisateur, le groupe et le rôle. Nous utilisons ensuite les rôles pour déterminer les autorisations de l'utilisateur.

14voto

Rockallite Points 178

MamaCAS semble être une bonne solution. (Il a obtenu 104 étoiles au moment de la rédaction du présent document).

https://github.com/jbittel/django-mama-cas

MamaCAS est un serveur d'authentification unique et de déconnexion unique du service d'authentification central (CAS) de Django. Il implémente les protocoles CAS 1.0, 2.0 et 3.0, y compris certaines fonctionnalités optionnelles.

Le CAS est un protocole web de connexion et de déconnexion uniques qui permet à un utilisateur d'accéder à plusieurs applications après avoir fourni ses informations d'identification une seule fois. Il utilise des tickets de sécurité, des chaînes de texte uniques générées et validées par le serveur, permettant aux applications d'authentifier un utilisateur sans accès direct à ses informations d'identification (généralement un identifiant et un mot de passe).

12voto

Mikhail Korobov Points 6225

Jetez un coup d'œil à django-cas-provider + django-cas-consumer (ou django-cas )

26 votes

À ce stade, utiliser des bibliothèques d'authentification qui n'ont pas été touchées depuis des années semble être une mauvaise idée, car de nouvelles vulnérabilités sont généralement découvertes chaque année et les choses sont cassées au fur et à mesure que django sort de nouvelles versions.

0 votes

Django-mama-cas est récent et maintenu stackoverflow.com/a/36539275/1783439

1 votes

Je ne pense pas que django-mama-cas soit inactif en ce moment. Il s'est écoulé presque 9 mois depuis le dernier commit. Des problèmes sont également en attente depuis. On dirait que github.com/onelogin/python3-saml est maintenue.

9voto

karthikr Points 36157

django-sso est un paquetage assez intéressant qui met en œuvre l'authentification unique (single signon)

7voto

nu everest Points 585

Django Simple SSO en est un autre.

https://github.com/aldryn/django-simple-sso

article sur l'utilisation de ce repo un article

0 votes

Le lien donné ne fonctionne pas....

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X