Authentifizierter Zugriff auf WebAPI über Facebook-Token von Android App
Ich versuche, meine Android-Anwendung dazu zu bringen, sich bei meinen WebAPI-Diensten anzumelden. Ich möchte meine Ideen teilen, um sie zu überprüfen.
Wenn der Zugriff auf WebAPI über die Website erfolgt, sind die folgenden Schritte auszuführen:
1- Rufen Sie die WebAPI-Methode zum Anmelden auf
2- Der WebAPI-Redirect-Client wird an Facebook weitergeleitet
3- Facebook-Login und Rückgabe eines Tokens
4- Wenn ich dieses Token bei den nächsten Anrufen verwende, werde ich als der richtige Benutzer authentifiziert.
Und das funktioniert.
Wie kann ich den Zugriffstoken erhalten, wenn der Zugriff auf WebAPI über die Android-App erfolgt? Eigentlich mache ich so etwas wie:
1- Kontaktieren Sie Facebook über den Login-Button
2- Anmeldedaten an Facebook senden und ein Token erhalten
3- Versuch, WebAPI-Anrufe durchzuführen, indem ich den Authentication: Bearer CODE zu meinen Anrufen hinzufüge
An diesem Punkt wandere ich ..
Wie kann meine Anwendung jetzt, da ich DIESER bestimmte Benutzer bin? Wenn ich so etwas aufführe
GET /API/METHOD1
Authentication: Bearer CODE
Woher weiß es, dass ich der CODE bin, wenn die Android-Anwendung es ihm nie gesagt hat? Wendet sich die Anwendung automatisch an Facebook, um eine Antwort wie "Ja! Ich gebe dieses Token frei, es hat mit ..." zu erhalten.
Oder ich verstehe alles falsch?
Der andere Weg, wie ich es herausfinden kann, ist, dass ich einen "hybriden Ansatz" wie folgt verwenden muss:
1- WebAPI aufrufen (wie über Browser) 2- Link zu Facebook umleiten 3- Token abrufen
Aber wie kann ich dann wieder zwischen Facebook-App / Facebook-Site zu meiner Android-Anwendung wechseln?
Entschuldigung für das Durcheinander, ich versuche, die Logik neben diesem Authentifizierungsprozess herauszufinden.