it-swarm.com.de

Wie kann man das Facebook-Login in der Django-App ermöglichen?

Ich habe eine Django-Anwendung erstellt. Die App verfügt über eine Login-Funktionalität.

Kann jemand helfen, einen Weg zu finden, der es ermöglicht, sich mit Facebook-Anmeldedaten einzuloggen oder ein paar Tutorials zur Implementierung zu geben?

42
rv_k

Zusammenfassung;


Django-All-Access


Django-All-Access ist eine wiederverwendbare Anwendung zur Benutzerregistrierung und -authentifizierung von OAuth 1.0- und OAuth 2.0-Anbietern wie Twitter und Facebook.

Ziel dieses Projekts ist es, die Erstellung eigener Workflows für die Authentifizierung mit diesen Remote-APIs zu vereinfachen. Bei Django-All-Access werden einfache Ansichten mit vernünftigen Standardeinstellungen und Haken versehen, um das Standardverhalten zu überschreiben.

Es gibt eine einfache Demoanwendung, die unter http://allaccess-mlavin.dotcloud.com/ läuft. Die vollständige Quelle dieser Anwendung befindet sich im Repository.

Django-allauth


Ein integrierter Satz von Django-Anwendungen für die Authentifizierung, Registrierung, Kontenverwaltung sowie die Authentifizierung von Drittanbietern (soziale Konten).

Unterstützte Flüsse

  • Registrierung lokaler und sozialer Konten
  • Verbinden mehrerer sozialer Konten mit einem lokalen Konto
  • Verbindung mit einem sozialen Konto trennen - Erfordert ein Kennwort, wenn nur das lokale Konto verbleibt
  • Optionale Sofortanmeldung für soziale Konten - keine Fragen gestellt
  • E-Mail-Adressenverwaltung (mehrere E-Mail-Adressen, Festlegen einer primären Adresse)
  • Passwort vergessen Fluss
  • Ablauf der E-Mail-Adressüberprüfung

Unterstützte Anbieter

  • Dropbox (OAuth)
  • Facebook (sowohl OAuth2 als auch JS SDK)
  • Github
  • Google (OAuth2)
  • LinkedIn
  • OpenId
  • Persona
  • SoundCloud (OAuth2)
  • Stapelaustausch (OAuth2)
  • Zucken (OAuth2)
  • Twitter
  • Weibo (OAuth2)

Django Social Auth


Django Social Auth ist eine einfache Möglichkeit, einen Mechanismus zur sozialen Authentifizierung/Autorisierung für Django-Projekte einzurichten.

Hergestellt mit Basiscode aus Django-Twitter-oauth und Django-openid-auth , implementiert es eine gemeinsame Schnittstelle, um neue Authentifizierungsanbieter von Drittanbietern zu definieren.

Unterstützte Anbieter

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

Django-Socialauth


Was es macht

  1. Erlaube das Einloggen über verschiedene Provider.
  2. Importieren Sie Kontakte von verschiedenen Websites von Drittanbietern, um herauszufinden, welche Ihrer Freunde unseren Service bereits nutzen.

Einloggen

Dies ist eine Anwendung, die die Authentifizierung über verschiedene Websites von Drittanbietern ermöglicht. Insbesondere ermöglicht sie die Anmeldung über

  • Twitter
  • Google Mail
  • Facebook
  • Yahoo (im Wesentlichen openid)
  • OpenId

oauth2app


Das oauth2app-Modul hilft Django-Site-Betreibern, eine OAuth 2.0-Schnittstelle bereitzustellen. Das Modul ist als Anwendung registriert.

Django-oauth


Dies ist eine gegabelte Version von David Larlets Django-Oauth.

Ein sehr wichtiger Unterschied ist, dass diese Version einen echten Cache hinter Djangos Caching Framework erfordert.

Django-Oauth-Zugang


Unterstützte Anbieter

  • Twitter
  • LinkedIn
  • Yahoo
  • Facebook (mit OAuth 2.0 - es ist funktional, erfordert aber mehr Arbeit)
  • Wahrscheinlich eine OAuth 1.0a-kompatible Site

Django-oauth-Verbraucher


Eine Django-Anwendung, die Infrastruktur für die Nutzung von OAuth-Diensten bereitstellt. Es ist nicht für die Bereitstellung von OAuth-Diensten.


Auch nützlich:

78
Alireza Savand

Ich empfehle dringend die Verwendung von Django-social-auth . Das README ist sehr umfassend und enthält auch Informationen zur Authentifizierung gegenüber anderen OAuth-Quellen wie Twitter und gegenüber OpenID-Quellen wie Google und Yahoo. Wenn Sie nur die Facebook-Authentifizierung wünschen, können Sie diese natürlich auch verwenden. 

Es gibt auch eine mitgelieferte Beispielanwendung, die Ihnen Beispielcode zum Spielen gibt.

18
Brad Montgomery

FÜR MOBILE ANWENDUNG: Wenn Sie eine Anwendung für ios/Android mit Django im Backend entwickeln, können Sie sich über die Facebook ios/Android-API bei Facebook im Frontend anmelden. Dies ist jedoch nicht das letzte Login für Ihre App. Bei Facebook-Login erhalten Sie mit Facebook ein Zugriffstoken, das Sie dann zusammen mit Ihrem Facebook-Benutzernamen/Ihrer E-Mail-Adresse an Ihr Django-Backend senden können. Auf der Rückseite kann Django etwas wie facebook python sdk verwenden, um das Benutzername-Zugriffstoken-Paar durch Kommunikation mit facebook zu überprüfen. Wenn dies bestätigt wurde, können Sie sich endlich bei dem Benutzer für Ihre App anmelden. 

Die Verwendung des Python-SDK ist einfach. Lesen Sie einfach das Tutorial, und Sie werden innerhalb von Sekunden mit Facebook kommunizieren.

9
Samir Ahmed

Der neue Weg, dies zu tun, ist die Verwendung von python-social-auth, da Django-social-auth zugunsten von python-social-auth abgelehnt wurde und jetzt andere Rahmen als Django unterstützt, wie Flask, Pyramid Web.py und Tornado.

Es unterstützt auch andere wichtige Authentifizierungsanbieter wie Microsoft, Google, Twitter, Amazon, GitHub und viele mehr.

Hier ist eine schnelle Einführung in Django: Wie melde ich mich mit der Google+ API mit Django an?

1
StaticX

Ich kann Django-allauth ... wirklich empfehlen. Es funktioniert einfach!

0
Joe Inner