Ich habe eine mobile App, die mit dem Backend-Server arbeitet, würde ich gerne verstehen, wofür die besten Praktiken sind Facebook verwenden, um sich anzumelden (Konto erstellen) und dann das ganze System synchron zu halten.Was ist der richtige Weg Facebook Login für mobile App (mit node.js/pass.js Server)
Hier ist, was ich bisher verstehe: - Mobile App kann die Anmeldung auf dem Gerät tun und erhalten Sie die access_token - Access Token kann auf den Server übertragen werden. Ich habe einen Proof-of-Concept gemacht, indem ich den Pass-facebook-Token verwendet habe, der an eine api.myhost.com/auth/facebook Route angehängt wurde, und es scheint, als könnte ich den Benutzer authentifizieren und seine FB-Daten abrufen. Daher kann ich ihn entweder zu bestehenden Benutzer in meiner Datenbank zuordnen oder einen neuen Datensatz erstellen.
Was ich nicht verstehe: 1) Muss ich https für die Übertragung des FB-Tokens auf meinen Server verwenden?
2) Was mache ich für meine anderen Anfragen, die authentifiziert werden sollen. Ich denke nicht, dass ich für jede Anfrage zu FB gehen kann. Eine Option, die mir in den Sinn kommt, ist, ein anderes (mein eigenes) Zugriffstoken zu generieren und es als Ergebnis der FB-Authentifizierung zurückzugeben.
Die einfachste Möglichkeit besteht darin, Pass-facebook-Token-Sitzungen zu verwenden (so dass die Cookie-Sitzungs-ID in die Benutzer-ID serialisiert und de-serialisiert werden kann). Aber das bedeutet, dass ich einige KV-Speicher für Sitzungen beibehalten muss. Ein anderer Weg wäre, mein eigenes zufälliges Token für diesen Benutzer zu generieren, es zusammen mit der Benutzer-ID bei erfolgreicher Anmeldung zurückzugeben, es im Benutzerdatensatz zu speichern und jeden API-Aufruf vom Client dieses ID/Token-Paar bereitzustellen und erneut zu validieren jedes Mal manuell, ohne auf den Pass angewiesen zu sein. Oder vielleicht mit der lokalen Strategie des Passes?
Welcher ist besser? Was sind Vor-/Nachteile von jedem?
2) Wenn ich FB-Token für die Veröffentlichung in FB und für die Analyse von Graphen (Freunde usw.) verwenden möchte, plane ich, das Token auf dem Server zu speichern . Wie oft muss ich es auffrischen? Jedes Mal, wenn die App ein Token auf dem Client startet und aktualisiert, sollte ich mich erneut mit meinem Server authentifizieren, indem ich ein neues FB-Token verwende? Was ist mit dem Aktualisieren von Benutzer-FB-Tokens bei Server-zu-Server-Aufrufen? Sollte ich es jemals tun, wenn ich den Zugriff auf die FB-Daten des Benutzers behalten möchte, aber der Benutzer meine Anwendung beendet oder zu selten verwendet?
Gibt es irgendwo ein Kochbuch eines Arbeitsschemas, das gut funktioniert?
Danke!
Haben Sie jemals etwas Nützliches hier gefunden? – SJoshi