web-dev-qa-db-fra.com

Comment rendre la connexion Facebook possible dans l'application Django?

J'ai créé une application Django. L'application dispose d'une fonctionnalité de connexion.

Quelqu'un peut-il aider à trouver un moyen de rendre possible la connexion à l'aide des identifiants Facebook ou me suggérer des tutoriels pour les implémenter?

42
rv_k

Résumé;


Django-all-access


Django-all-access est une application réutilisable pour l'enregistrement et l'authentification des utilisateurs auprès de fournisseurs OAuth 1.0 et OAuth 2.0 tels que Twitter et Facebook.

L'objectif de ce projet est de faciliter la création de vos propres flux de travail pour l'authentification avec ces API distantes. Django-all-access fournira les vues simples avec des valeurs par défaut saines et des points d'ancrage pour remplacer le comportement par défaut.

Une application de démonstration simple est en cours d'exécution à l'adresse http://allaccess-mlavin.dotcloud.com/ . La source complète de cette application est incluse dans le référentiel.

Django-allauth


Ensemble intégré d'applications Django concernant l'authentification, l'enregistrement, la gestion de comptes ainsi que l'authentification de comptes tiers (sociaux).

Flux pris en charge

  • Inscription de comptes locaux et sociaux
  • Connecter plus d'un compte social à un compte local
  • Déconnexion d'un compte social - nécessite la définition d'un mot de passe s'il ne reste que le compte local
  • Inscription instantanée facultative pour les comptes sociaux - aucune question posée
  • Gestion des adresses e-mail (plusieurs adresses e-mail, établissement d'un principal)
  • Mot de passe oublié
  • Flux de vérification de l'adresse de messagerie

Fournisseurs pris en charge

  • Dropbox (OAuth)
  • Facebook (à la fois OAuth2 et JS SDK)
  • Github
  • Google (OAuth2)
  • LinkedIn
  • OpenId
  • Personnage
  • SoundCloud (OAuth2)
  • Échange de pile (OAuth2)
  • Twitch (OAuth2)
  • Gazouillement
  • Weibo (OAuth2)

Django Social Auth


Django Social Auth est un moyen facile de configurer un mécanisme d'authentification/autorisation sociale pour les projets Django.

Fabriqué à l'aide du code de base de Django-Twitter-oauth et Django-openid-auth , il implémente une interface commune pour définir de nouveaux fournisseurs d'authentification provenant de tiers.

Fournisseurs pris en charge

  • Google OpenID
  • Google OAuth
  • Google OAuth2
  • Yahoo OpenID
  • OpenId comme myOpenID
  • Twitter OAuth
  • Facebook OAuth

Django-Socialauth


Ce qu'il fait

  1. Autoriser la connexion via différents fournisseurs.
  2. Importez des contacts de divers sites tiers pour savoir lequel de vos amis Utilise déjà notre service.

Se connecter

Il s'agit d'une application permettant d'activer l'authentification via différents sites tiers . Elle permet notamment de se connecter via

  • Gazouillement
  • Gmail
  • Facebook
  • Yahoo (essentiellement ouvert)
  • OpenId

oauth2app


Le module oauth2app aide les opérateurs de site Django à fournir une interface OAuth 2.0. Le module est enregistré en tant qu'application.

Django-oauth


Ceci est une version fourchue de Django-oauth de David Larlet.

Une différence très importante est que cette version nécessite que vous exécutiez un vrai cache derrière - l'infrastructure de mise en cache de Django .

Django-oauth-access


Fournisseurs pris en charge

  • Gazouillement
  • LinkedIn
  • Yahoo
  • Facebook (en utilisant OAuth 2.0 - il est fonctionnel, mais nécessite plus de travail)
  • Probablement tout site conforme à OAuth 1.0a

Django-oauth-consommateur


Une application Django fournissant une infrastructure pour la consommation de services OAuth. Ce n'est pas pour fournir des services OAuth.


Aussi utile:

78
Alireza Savand

Je recommande fortement d'utiliser Django-social-auth . Le README est très complet et comprend également des informations permettant de s’authentifier par rapport à d’autres sources OAuth telles que Twitter et OpenID telles que Google et Yahoo. Bien sûr, si vous souhaitiez simplement une authentification Facebook, vous pouvez simplement l'utiliser pour cela. 

Il existe également un exemple d'application inclus, qui vous donne un exemple de code à utiliser.

18
Brad Montgomery

POUR LES APPLICATIONS MOBILES, si vous développez une application pour ios/Android avec Django dans le backend, vous pouvez vous connecter à Facebook dans le frontend à l’aide de l’API Facebook. Mais ce n'est pas la connexion finale pour votre application. Sur facebook-login, facebook vous donne un jeton d'accès que vous pouvez ensuite envoyer à votre backend Django avec votre nom d'utilisateur/email facebook. Dans le dos, Django peut utiliser quelque chose comme facebook python sdk pour vérifier la paire de jetons nom d'utilisateur-accès en communiquant avec facebook. Si vérifié, vous pouvez enfin vous connecter à l'utilisateur pour votre application. 

Utiliser le sdk python est facile, il suffit de lire le tutoriel et vous communiquerez avec facebook en quelques secondes.

9
Samir Ahmed

La nouvelle façon de faire est d'utiliser python-social-auth, car Django-social-auth était obsolète au profit de python-social-auth et supporte maintenant d'autres frameworks que Django tels que Flask, Pyramid, Web.py et Tornado.

Il prend également en charge d’autres principaux fournisseurs d’autorisations tels que Microsoft, Google, Twitter, Amazon, GitHub et bien d’autres.

Voici un moyen rapide de le configurer sur Django: Comment se connecter à l'API Google+ à l'aide de Django?

1
StaticX

Je peux totalement recommander Django-allauth . Ça fonctionne!

0
Joe Inner