Benutzerdefinierte Authentifizierung in der Google App-Engine (Python)
Weiß jemand, oder weiß irgendwo kann ich lernen, wie man erstellen Sie eine benutzerdefinierte Authentifizierung-Prozess mit python und google app engine?
Ich will nicht von google-Konten für die Authentifizierung und wollen in der Lage sein, um meine eigenen Benutzer.
Wenn auch nicht speziell für die google app engine, jede Ressource implementieren der Authentifizierung auf Basis von python und django?
InformationsquelleAutor der Frage dtc | 2009-06-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut django 1.0 wurde heute aktualisiert auf Google AppEngine. Aber Sie können die Authentifizierung der Benutzer, wie alles, was Sie können einfach nicht wirklich mit sessions, weil es so Massiv.
Gibt es eine session utility in http://gaeutilities.appspot.com/
http://gaeutilities.appspot.com/session
http://code.google.com/p/gaeutilities/
Oder,
Erstellen Sie Ihre eigenen Benutzer-Tabellen und hash oder Verschlüsselung von Passwörtern, dann wahrscheinlich erstellen einen token-system, das imitiert session mit nur einem token, hash-oder uuid-cookie (Sitzungen sind nur cookies sowieso).
Implementierte ich ein paar mit nur grundlegende google.webapp-Anforderung und-Antwort-Header. Ich in der Regel verwenden uuids für die primär-Schlüssel als Benutzer-id, dann verschlüsseln Sie die Benutzer-Passwort und Ihre E-Mail für das zurücksetzen.
Wenn Sie möchten, autorisieren Sie Benutzer für den externen Zugriff auf Daten, die Sie Aussehen könnte auf OAuth für den Zugriff auf die Applikation.
Wenn Sie nur wollen, um Daten zu speichern, indem Sie eine id und es ist mehr Verbraucher vor, vielleicht auch nur die Verwendung von openid wie stackoverflow und bringen Sie dann das Profil-Daten zu, die Bezeichner wie django profile (http://code.google.com/p/openid-selector/).
django 1.0 kam gerade heute auf GAE, aber ich denke, dass es die gleichen Probleme, keine Sitzungen, haben Sie wirklich Ihre eigene erstellen, speichern session-Daten.
InformationsquelleAutor der Antwort Ryan Christensen
Dies ist eine ziemlich out-of-the-box-Lösung, und funktioniert ziemlich gut:
http://code.scotchmedia.com/engineauth/docs/index.html
Es verfügt über eine integrierte Unterstützung für Facebook, Google+, Twitter, LinkedIn, GitHub und OpenId (über Google App Engine).
müssen Sie nur leiten den Benutzer auf
/auth/facebook
oder/auth/google
und so weiter (diese url ist anpassbar).Es auch implementiert zwei Klassen:
User
undUserProfile
jederUser
ist ein einmalige Geschichte in Ihrer app und können sich auf einen oder mehrereUserProfiles
-- was ist ein login-Strategie, die die einzigartigeUser
hat zum login in Ihre app (wenn es nicht klar ist, es ist, weil mein Englisch ist sehr schlecht, die docs besser erklären).P. S.: Die Dokumentation ist nicht sehr vollständig, aber der code ist ziemlich einfach, kurz und selbsterklärend. Auch gibt es eine Diskussion hier, in dem der Autor stellt verschiedene Antworten auf die Fragen, die verwirrt und Anfang Benutzer.
InformationsquelleAutor der Antwort fiatjaf
Den OpenID consumer (Teil des ausgezeichneten "app engine Proben" open-source-Projekt) funktioniert derzeit (trotz der Warnungen in die README, die ist alt) und würde Ihnen die Verwendung von OpenID für Ihre Benutzer-logins.
django ' s auth ist auch verwendbar, z.B. über dieses Projekt (zumindest die
users
Teil, nicht unbedingtgroups
undpermissions
wenn Sie könnten, wie Sie arbeiten jeder Zeit).InformationsquelleAutor der Antwort Alex Martelli
Sah ich, dass dieser öffnet sich in google, jedes mal, wenn Sie suchen, "Benutzerdefinierte login in der app engine" so
Ich entschied mich, eine Antwort zu geben, wurde, mir zu dienen.
Hier ist Beispiel-Anwendung
https://github.com/fredrikbonander/Webapp2-Sample-Applications
Diese verwendet
Webapp2 scheint die beste Wette für GAE (gebaut auf der Oberseite der webapp damit zukunftssichere), so dass die Authentifizierung unter Verwendung von framework nativ unterstützt von GAE ist eine gute Idee. Es gibt viele
andere Regelwerke, aber eine Menge von hacking hat der Nutzer Teil, um Ihnen zu arbeiten. Für Menschen, die bauen wollen, eine "Stabile" Seite, solche hack-Arbeit ist äußerst unerwünscht.
Ich auch erkennen, dass die SQL-Unterstützung für die GAE ist nun da und django werden nativ unterstützt.
Wir alle wissen, django hat eingebaute Benutzer-Authentifizierung-system. Obwohl, denke ich, vor allem in der cloud NoSQL-Welt ist die Zukunft. Ich bin sicher, es wird ein Rahmen so gut wie django in die Zukunft für NoSQL. Aber das ist mir, Ihre Anforderung könnte die Nachfrage etwas anderes.
InformationsquelleAutor der Antwort specialscope
Hier ist eine ausgezeichnete und relativ aktuell (Jan 2013) blog post mit dem Titel Die Authentifizierung der Benutzer mit webapp2 auf Google App Engine und Verwandte GitHub repo:
abahgat/webapp2-Benutzer-Konten
.InformationsquelleAutor der Antwort Brian M. Hunt
Haben Sie einen Blick app-engine-patch für Django (Ihre bevorzugte Rahmen davon gehe ich aus deiner Frage). Es bietet Authentifizierung auf gae.
Alternativ, nehmen Sie einen Blick auf web2py. Es ist ein Python-basiertes framework, das funktioniert auf GAE und Relationalen Datenbanken. Es ist built-in Auth-Objekt bietet für Benutzer, Gruppen und Berechtigungen.
Es nicht geben ungezügelten Zugriff auf BigTable obwohl, sondern bietet stattdessen eine Teilmenge der relationalen Funktionalität (BigTable unterstützt keine Joins zum Beispiel und web2py nicht [noch] unterstützt BigTable-Modelle).
Unterstützung für BigTable wird diskutiert, die von beiden Web2py und Django Gemeinden.
InformationsquelleAutor der Antwort Carl
Habe ich gegoogelt, um für eine benutzerdefinierte authenication-system für app-engine für eine Weile. Schließlich entschied ich mich für die Ausführung Kolben auf app engine. Ich habe dieses boilerplate für Kolben läuft auf der app engine https://github.com/kamalgill/flask-appengine-template/ und diese Flasche auth-Erweiterung http://pypi.python.org/pypi/Flask-Auth/ kommt mit plug-and-play-google app engine-Unterstützung. Ich denke, Kolben hat auch ein sehr schönes oAuth-Bibliothek, so dass schließlich das hinzufügen von facebook-und twitter-logins werden einfach
InformationsquelleAutor der Antwort Dane Jensen
Zusätzlich zu all den anderen tollen Antworten, ich würde auch hinzufügen, dass Facebook, Twitter, und github alle bieten OAuth-Mechanismen, die Sie nutzen können als turn-key-Authentifizierung Unterstützung für Ihre app.
InformationsquelleAutor der Antwort mvanveen
Nehmen Sie einen Blick an diesem Projekt arbeite ich mit coto: https://github.com/coto/gae-boilerplate Es umfasst eine voll ausgestattete benutzerdefinierte Authentifizierung-system und vieles mehr.
InformationsquelleAutor der Antwort peta15
Weitere option ist das Becher-Modul.
Die AES-Verschlüsselung für client-side sessions ist schön.
InformationsquelleAutor der Antwort rezsa f