0

Ich versuche, ein Login mit Facebook mit Javascript für eine Chrome-Erweiterung erstellen, die einige Daten vom Server zurückgibt.Javascript Facebook Login - Was ist der beste Weg, um eine sichere Anmeldung zu haben?

Ich kann mich derzeit ohne Probleme mit Google und Facebook einloggen. Google gibt die E-Mail-Adresse und eine eindeutige ID zurück, die nur für meine App gilt, damit ich mich mit dieser ID zusammen mit der angegebenen E-Mail-Adresse bei meinem Server anmelden kann.

Facebook gibt die echte Benutzer-ID und die E-Mail-Adresse zurück, was bedeutet, dass jeder, der Zugang zu Facebook hat, diese ID finden kann und wenn er die E-Mail-Adresse kennt, kann er sich anmelden.

Da ich nicht den Benutzer bitten möchte, jedes Mal, dass sie den Browser neu starten oder alle paar Tage, was ist der beste Weg, um eine einzigartige konstante sichere ID von Facebook, die einzigartig für meine Anwendung ist?

Natürlich, wenn ich es in der Erweiterung einzigartig machen, wäre es nicht wirklich vorteilhaft, weil jeder den Erweiterungscode lesen und dann herausfinden kann, wie man eine andere eindeutige ID von seiner Benutzer-ID bekommt.

Der Autorisierungscode, den Facebook sendet, ist nicht konstant, daher könnte ich ihn nicht an den Server senden, um jemanden zu authentifizieren.

+1

Senden Sie das Token an den Server, und führen Sie dann einen API-Aufruf aus, um zu überprüfen, ob es echt ist. Sie möchten nicht einfach die Nutzer-ID weitergeben - denn jeder kann diese an Ihre App senden. (Und um eine Benutzer-ID zu finden, die für Ihre App "funktioniert", wäre nur eine Frage des Ratespiels.) – CBroe

Antwort

1

"Facebook gibt die echte Benutzer-ID zurück" - falsch, die API gibt nur eine App Scoped ID zurück. Und niemand außer dem Benutzer selbst kann sich einloggen. Verwenden Sie einfach die App Scoped ID, so identifizieren Sie Nutzer in Ihrer App. Btw, Benutzer-IDs sind nicht wirklich etwas, was Sie geheim halten müssen. Zugangstoken sind.

+0

Ich schwöre, ich habe gelesen, dass es die echte ID zurückgegeben hat ... dann bin ich gut :-) (ja, die Auth Code ist geheim, sowie die Benutzerkennung und E-Mail ...) danke – Fabrizio

Verwandte Themen