2014-11-03 6 views
6

Ich schreibe ein Backend in Django für eine mobile App, die ich gerade erstelle. Ich muss einen Benutzer beim ersten Öffnen der mobilen App durch SMS authentifizieren, um zu überprüfen, ob es sich um eine echte Person handelt. Folgendes muss geschehen: Der Benutzer gibt die Telefonnummer in der App ein, der Server sendet dann eine SMS an den Benutzer mit dem Authentifizierungscode, der Benutzer gibt den Authentifizierungscode in die App ein und der Server überprüft, ob der eingegebene Code derselbe ist durch SMS.Einmalige Benutzerauthentifizierung mit SMS mit Django und Twilio

Ich brauche Twilio mit meinem Django-Projekt. Ich muss nur wissen, was der beste Weg ist, um das zu tun? Die Front-End-Seite von dieser (die mobile App) ist nicht das, worüber ich frage, ich frage nach dem Code auf dem Back-End, der implementiert werden sollte. Ich habe Mühe, eine aktuelle Dokumentation für die Django-Twilio-Integration zu finden, die dies tun könnte.

+0

ich fürchte, das zu breit eine Frage für Stackoverflow wahrscheinlich ist. Allerdings sollte es nicht zu schwierig sein, dies zu tun. Sie erstellen ein Modell für den Bestätigungscode. Sie generieren jedes Mal einen eindeutigen Code, wenn Sie einen Benutzer verifizieren müssen. Diese wird per SMS an den Benutzer gesendet und nach Eingabe des Codes prüft die App einen URL/REST-Endpunkt (myapp.com/verify/ /). Wenn in der Datenbank ein Bestätigungscode vorhanden ist, wurde dieser noch nicht überprüft. Betrachten Sie daher den Benutzer als echt und löschen Sie den Bestätigungscode. Andernfalls gib eine Fehlermeldung zurück –

Antwort

17

Twilio Evangelist und Betreuer von Django-Twilio hier.

Was Sie suchen zu bauen, ist etwas sehr einfach zu tun, kann ich die Schritte für Sie hier skizzieren:

  • Erstellen Sie ein Django-Modell, das ein Benutzernummer speichert und ein generiertes Passwort
  • Wenn ein neuer Benutzer wird erstellt, nimmt ihre Nummer und SMS ihnen den Code mit der Twilio REST API
  • Wenn sie den Code eingeben, den Sie gesendet haben, verweisen Sie sie mit dem in der Datenbank gespeicherten Querverweis.
  • Wenn die Nummer stimmt: überprüfen Sie sie, wenn nicht, sagen Sie ihnen, dass es falsch ist und bieten Sie ihnen eine SMS erneut zu senden.

Ich hoffe, dass klar ist, wenn Sie weitere Fragen haben, zögern Sie in Kontakt treten bei [email protected]

2

Sie können django-Passcode als App in Ihrem Projekt verwenden. Es setzt APIs frei, um eine Handynummer zu "registrieren" und durch einen SMS-basierten Passcode zu "verifizieren". Es verwendet Mobiltelefonnummer und Geräte-ID-Paar als einzigartig. Außerdem generiert und gibt es ein Token für zukünftige Autorisierungsanfragen von der mobilen App zurück. Sie können Twilio oder eine andere SMS API verwenden, um SMS zu senden.

https://github.com/sgurminder/django-passcode

Ich schätze Ihr Feedback für django-Passcode

+0

Es ist gut. Gab es einfach ab. :) Ich brauchte etwas, das die Standardauthentifizierung überschreibt. Das ist ziemlich nah dran. – iraycd