Wie implementiere ich einen sicheren Facebook Login / registriere / verbinde den Web Service für eine mobile Anwendung?

9

Ich habe eine Web-REST-API für eine mobile Anwendung, die klassisches Anmelden / Anmelden mit Benutzer- / Passwort- und Token-Authentifizierung unterstützt.

Da die Anmeldung ohne E-Mail-Bestätigung erfolgt, wie kann ich eine sichere Anmeldung / Anmeldung / Verbindung mit dem Facebook-Dienst implementieren?

Mein erster Ansatz: Ich bekomme von der mobilen Anwendung facebook_id , facebook_email , facebook_name :

  • Suche Benutzer nach Facebook, wenn existiert perfekt diesen Benutzer zurückgeben, sonst erstellen Sie einen neuen Benutzer mit diesen Parametern

  • Problem: Ich nehme an, dass ein facebook_id leicht von einer anderen Anwendung gefunden werden kann. So hindert mich nichts daran, anzunehmen, dass ich jemand anders bin und mich mit seiner facebook_id

  • mögliche Lösung: Holen Sie sich die access_token auch aus der mobilen Anwendung und überprüfen Sie auf Serverseite, dass die access_token ist die richtige in Bezug auf die facebook_email erhalten

Ein anderes Problem könnte sein:

  • Person A erstellt ein klassisches Konto mit [email protected] email
  • Person B, eine Woche später, verbindet ihr Facebook-Konto (mit der gleichen [email protected] -Email). Die erste Idee wäre, den klassischen Account mit diesem Facebook-Account zu verknüpfen. Aber dann würde die Person B das Konto von Person A übernehmen.

Optional: Auch das beste Verfahren für das Token-Ablaufdatum in mobilen Anwendungen. Ich habe etwas über 2 Stunden gelesen, aber immer noch facebook Anwendung wird immer noch nach der Hälfte des Jahres protokolliert, denke ich.

Um die Sicherheit zu gewährleisten, nehmen wir an, dass ich wichtige Informationen (access_token, email, ...) von der Client-Seite in meinem Webservice erhalten kann: Was ist die beste Vorgehensweise, um in diesem Fall die beste Sicherheit zu gewährleisten: sogar client-side rules : Sollte es zwei unterschiedliche Dienste für Login und SignUp geben? Wie auch immer, eine schnelle Guideline / Schritt-für-Schritt-Ablauf wäre perfekt.

    
alex.dominte 22.05.2013, 20:58
quelle

1 Antwort

1

Haben Sie die Facebook Developer Login-Dokumentation durchsucht? Sie decken den Login-Flow und Generierung von Benutzer & amp; App-Token (durch Aufruf des FB SDK für JavaScript ( FB.GetAuthResponse ) In diesem Fall enthält die AuthResponse einen userID-Parameter , den Sie verwenden können Ordne die ID deiner App zu). Das Token-Ablaufdatum wird ebenfalls vom FB SDK verarbeitet. Der Android-Login-Flow sieht ziemlich einfach aus und der iOS-Login-Flow sieht noch einfacher aus.

    
Jacob Stevens 04.06.2013 17:33
quelle