Upgrade der Graph API 2.0 von Facebook und ACS
Aktualisiert: 17. Juli 2015
Am 30. April 2015 werden alle Facebook-aktivierten Anwendungen automatisch auf die Graph-API v2.0 von Facebook aktualisiert. Wenn Sie Facebook als Identitätsanbieter in einem ACS-Namespace verwenden, müssen Sie möglicherweise Änderungen an Ihren Facebook-Identitätsanbieterkonfigurationen in ACS vornehmen, Codeänderungen an Ihrer Anwendung oder beides, um Ausfallzeiten zu vermeiden. Weitere Informationen zu Den Plänen von Facebook finden Sie im Leitfaden zum Upgrade der Facebook-Plattform.
Hintergrund
ACS verwendet die folgenden Facebook-Endpunkte: https://www.facebook.com/dialog/oauth, https://graph.facebook.com/oauth/access\_token, https://www.facebook.com/logout.php und https://graph.facebook.com/me. Facebook aktualisiert diese "version-less" automatisch Graph-API Anforderungen zur Verwendung von v2.0 am 30. April 2015.
Wenn Sie Facebook als Identitätsanbieter in ACS hinzufügen, wird "email" (standardmäßig) als Anwendungsberechtigung festgelegt. Wenn Sie in den Konfigurationen Ihrer Facebook-Identitätsanbieter keine Anwendungsberechtigungen (leeres Feld) oder die Standardeinstellung ("email") ausgewählt haben, müssen Sie keine Anwendungs- oder Konfigurationsänderungen vornehmen. Wenn Sie andere Anwendungsberechtigungen ausgewählt haben, sollten Sie dieses Thema vollständig lesen, um die Situation einzuschätzen und geeignete Maßnahmen zu treffen.
Einschätzen der Auswirkungen
Die folgenden Änderungen durch Facebook müssen berücksichtigt werden:
Berechtigungen
Die Berechtigung "basic_info", die implizit in jeder Facebook-Anforderung enthalten ist, wird durch die Berechtigung "public_profile" ersetzt, die ebenfalls implizit sein wird. Die Berechtigungssätze für beide sind identisch, mit der Ausnahme, dass im zweiten Fall die Freundesliste Bestandteil der separaten Berechtigung "user_friends" wird. Damit die Berechtigung "basic_info" eine gleichwertige Funktionalität bietet, müssen Sie die Berechtigung "user_friends" explizit anfordern.
An "friends"-basierten Berechtigungen wurden wesentliche Änderungen vorgenommen. Der Facebook Platform Upgrade Guide beschreibt sie ausführlich.
Facebook erfordert Anwendungen, die zusätzliche Berechtigungen über "basic_profile", "E-Mail" und "user_friends" anfordern, um den Anmeldeüberprüfungsprozess zu durchlaufen.
Abgelehnte Berechtigungen
Facebook ermöglicht Benutzern die Auswahl der Berechtigungen, die einer Anwendung erteilt werden sollen, und bietet die Möglichkeit, Berechtigungen selektiv abzulehnen. Diese Anwendungsfälle müssen von den Anwendungen behandelt werden.
Benutzer können die Berechtigung "public_profile" nicht ablehnen.
Wenn der Benutzer die Berechtigung "email" ablehnt, übergibt ACS den "email"-Anspruch im Token nicht zurück an die Anwendung.
Benutzer-IDs mit App-Bereich
Benutzer-IDs, die im ACS-Token als "Name identifier"-Anspruch gesendet werden, verfügen nicht mehr über eine globale Gültigkeit (dieselbe Benutzer-ID wird in mehreren Facebook-Anwendungen verwendet), sondern nur noch über einen App-Gültigkeitsbereich (für jede Facebook-Anwendung gelten unterschiedliche IDs).
Dies gilt nur für Facebook-Benutzer, die sich neu bei der Anwendung anmelden. Für Benutzer, die sich bereits zuvor bei der Anwendung angemeldet haben, besteht Abwärtskompatibilität.
Wenn die Anwendung auf global ausgerichtete Benutzer-IDs angewiesen ist, um den Benutzer über verschiedene Facebook-Anwendungsregistrierungen hinweg zu korrelieren, muss er Anpassungen vornehmen und die Unternehmenszuordnungs-API von Facebook verwenden, um dasselbe zu tun.
Empfehlungen
Wenn Sie eine Beeinträchtigung Ihrer Facebook-fähigen ACS-Anwendungen feststellen, helfen Ihnen die folgenden Empfehlungen vielleicht weiter. Die Liste ist nicht vollständig, und möglicherweise treffen nicht alle Empfehlungen auf Ihren Fall zu. Weitere Informationen finden Sie im Facebook Platform Upgrade Guide für die vollständige Liste.
Stellen Sie sicher, dass keine Abhängigkeiten von veralteten Anwendungsberechtigungen bestehen.
Übermitteln Sie erweiterte Anwendungsberechtigungen für die Anmeldeüberprüfung von Facebook. Alternativ können Sie die Anwendung vereinfachen und auf die Verwendung der Anwendungsberechtigungen "basic_profile", "email" und "user_friends" beschränken.
Aktualisieren Sie die Logik Ihrer Anwendung, damit abgelehnte Berechtigungen behandelt werden können.
Aktualisieren Sie die Logik Ihrer Anwendung, damit Benutzer-IDs mit App-Bereich behandelt werden können, falls Benutzer über mehrere Facebook-App-Registrierungen korreliert werden müssen. Verwenden Sie die Business-Zuordnungs-API von Facebook, um dies zu tun.