Mir ist aufgefallen, dass Facebook die Geräteanmeldung mit einem Token/PIN Code anstelle von Benutzer/Login zu unterstützen scheint, um auf Geräten wie Fernseher oder Konsole verwendet zu werden:
https://www.facebook.com/device
Bei der Suche nach der Dev-Seite konnte ich sehen, dass es einen Artikel dazu gab, aber in Deutschland gibt es zumindest eine 404.
Hat jemand mehr Informationen dazu?
Vielen Dank
ich habe auch dafür recherchiert, aber leider ist das facebook-Gerät auth noch experimentell und sie haben keine neuen Schlüssel (Partner) für die Verwendung des Geräts auth vergeben.
Das Arbeitsbeispiel finden Sie hier: http://oauth-device-demo.appspot.com/ .__ Schauen Sie sich die Quelle der Website an und Sie können die AppID haben, die damit arbeitet.
Das andere ist Twitter PIN. Es funktioniert und ist öffentlich verfügbar (ich verwende es) https://dev.Twitter.com/docs/auth/pin-based-authorization
Ein Facebook-Login für Smarttv/Geräte ohne Facebook-SDK ist über den Code möglich. Die Dokumentation finden Sie hier:
https://developers.facebook.com/docs/facebook-login/for-devices
Facebook Login für Geräte ist für Geräte, die direkt HTTP-Anrufe über das Internet tätigen. Nachfolgend finden Sie die API-Aufrufe und Antworten, die Ihr Gerät ausführen kann.
1. Anmeldung für Geräte aktivieren
Ändern Sie Einstellungen> Erweitert> OAuth-Einstellungen> Von Geräten anmelden zu 'Ja'.
2. Generieren Sie einen Code, der für die Identifizierung von facebook-Geräten erforderlich ist
Wenn die Person auf Mit Facebook anmelden klickt, sollte Ihr Gerät ein HTTP POST für Folgendes erstellen:
POST https://graph.facebook.com/oauth/device?
type=device_code
&client_id=<YOUR_APP_ID>
&scope=<COMMA_SEPARATED_PERMISSION_NAMES> // e.g.public_profile,user_likes
Die Antwort kommt in dieser Form:
{
"code": "92a2b2e351f2b0b3503b2de251132f47",
"user_code": "A1NWZ9",
"verification_uri": "https://www.facebook.com/device",
"expires_in": 420,
"interval": 5
}
Diese Antwort bedeutet:
3. Code anzeigen
Ihr Gerät sollte den user_code anzeigen und den Benutzern mitteilen, dass sie sich verification_uri wie facebook.com/device auf ihrem PC oder Smartphone besuchen möchten. Siehe die Design Guidelines .
4. Berechtigungsabfrage
Ihr Gerät sollte die Geräteanmelde-API abfragen, um festzustellen, ob die Person Ihre Anwendung erfolgreich autorisiert hat. Sie sollten dies in dem Intervall in der Antwort auf Ihren Anruf in Schritt 1 tun, der alle 5 Sekunden erfolgt. Ihr Gerät sollte folgende Abfrage durchführen:
POST https://graph.facebook.com/oauth/device?
type=device_token
&client_id=<YOUR_APP_ID>
&code=<LONG_CODE_FROM_STEP_1> //e.g."92a2b2e351f2b0b3503b2de251132f47"
Sie erhalten 200 HTTP-Code. Der Benutzer hat das Gerät erfolgreich autorisiert. Das Gerät kann jetzt den access_token-Wert verwenden, um authentifizierte API-Aufrufe durchzuführen.
5. Erfolgreiche Anmeldung bestätigen
Ihr Gerät sollte seinen Namen und, falls verfügbar, ein Profilbild anzeigen, bis sie auf Weiter klicken. Um den Namen der Person und das Profilbild der Person abzurufen, sollte Ihr Gerät einen Standardaufruf der Graph API ausführen:
GET https://graph.facebook.com/v2.3/me?
fields=name,picture&
access_token=<USER_ACCESS_TOKEN>
Antwort:
{
"name": "John Doe",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://fbcdn.akamaihd.net/hmac...ile.jpg"
}
},
"id": "2023462875238472"
}
6. Speicherzugriffsmarken
Ihr Gerät sollte das Zugriffstoken beibehalten, um andere Anforderungen an die Graph-API zu stellen.
Zugriffstoken für Geräteanmeldungen können bis zu 60 Tage gültig sein, sind aber in einer Reihe von Szenarien ungültig. Wenn beispielsweise eine Person ihr Facebook-Passwort ändert, wird ihr Zugriffstoken ungültig.
Wenn das Token ungültig ist, sollte Ihr Gerät das Token aus seinem Speicher löschen. Die Person, die Ihr Gerät verwendet, muss den Geräteanmeldeprozess erneut ab Schritt 1 durchführen, um ein neues, gültiges Token abzurufen.
Sie ändern es wieder. In diesem Moment passt Dokumentation nicht zur tatsächlichen Situation.
Normalerweise funktioniert alles wie erwartet mit einem kleinen Unterschied. Login from Devices
config wechselt jetzt zu Products -> Facebook Login
.
Sie müssen also:
App id
aus der Überschrift,Client Token
von App Settings -> Advanced
abrufen. Es gibt auch Native or desktop app?
question/config. Ich schalte es ein.Add product
und dann Get started
auf Facebook login
. Gehen Sie zurück zu Ihrer App-Konfiguration, klicken Sie auf neu hinzugefügter Facebook login
und Sie sehen Ihre Login from Devices
config.