Wir haben eine Website, auf der Sie sich nur mit Facebook anmelden und authentifizieren können (dies war nicht meine Wahl). Wenn Sie sich zum ersten Mal bei Facebook anmelden, wird automatisch ein Konto für Sie erstellt.
Wir möchten jetzt eine iPhone-Anwendung für unsere Website und eine öffentliche API erstellen, damit andere unseren Service nutzen können.
Diese Frage bezieht sich auf die Authentifizierung mit unserer Website über die App / API und ist in zwei Teile unterteilt:
Wie kann die REST-Authentifizierung von einer API zu einer Website, die nur Facebook OAuth als Authentifizierungsmethode verwendet, korrekt verarbeitet werden?
Ich habe viel über Standardauthentifizierungsmethoden für die REST-API gelesen und recherchiert. Methoden wie Basic Auth over HTTPS können nicht verwendet werden , da für einen Benutzer als solchen keine Anmeldeinformationen vorhanden sind. So etwas wie dies scheint für die Authentifizierung von Anwendungen mit der API nur zu sein.
Derzeit ist der beste Weg, den ich mir vorstellen kann, dass Sie einen / authorize-Endpunkt in unserer API erreichen, dieser zu Facebook OAuth umleitet, dann zurück zur Site leitet und ein "Token" bereitstellt, mit dem sich der Benutzer der API anschließend authentifizieren kann Anfragen.
Für eine offizielle Anwendung, die wir erstellen, müssten wir die öffentliche API nicht unbedingt auf die gleiche Weise verwenden. Was wäre dann der beste Weg, um mit unserer Website zu sprechen und Benutzer zu authentifizieren?
Ich verstehe (glaube ich), wie Anwendungen von Drittanbietern, die unsere API verwenden, mithilfe von API-Schlüsseln (öffentlich) und geheimen Schlüsseln (privat) authentifiziert werden. Wenn es jedoch um die Authentifizierung des Benutzers geht, der die App verwendet, bin ich ziemlich verwirrt darüber, wie ich vorgehen soll, wenn wir einen Benutzer nur auf Facebook authentifizieren müssen.
Ich habe das Gefühl, dass mir etwas sehr Offensichtliches fehlt oder ich nicht vollständig verstehe, wie öffentliche REST-APIs funktionieren sollten. Daher wäre jeder Rat und jede Hilfe sehr dankbar.