Mise à niveau et services ACS de l'API Graph 2.0 de Facebook
Mise à jour : 17 juillet 2015
Le 30 avril 2015, toutes les applications avec Facebook seront automatiquement mises à niveau vers le API Graph facebook v2.0. Si vous utilisez Facebook comme fournisseur d’identité dans un espace de noms ACS, vous devrez peut-être apporter des modifications à vos configurations de fournisseur d’identité Facebook dans ACS, modifier le code de votre application ou les deux pour éviter les temps d’arrêt. Pour plus d’informations sur les plans de Facebook, consultez le Guide de mise à niveau de la plateforme Facebook.
Arrière-plan
ACS utilise les points de terminaison Facebook suivants : https://www.facebook.com/dialog/oauth, https://graph.facebook.com/oauth/access\_tokenet https://graph.facebook.com/mehttps://www.facebook.com/logout.php . Facebook mettra automatiquement à jour ces demandes d'API Graph « version-less » pour utiliser la version v2.0 le 30 avril 2015.
Lors de l'ajout de Facebook en tant que fournisseur d'identité dans ACS, « email » est défini comme autorisation de l'application (par défaut). Si vous avez opté pour l'absence d'autorisation d'application (champ vide) ou la valeur par défaut (« email ») dans vos configurations de fournisseur d'identité Facebook, il est inutile d'apporter les modifications de configuration ou d'application nécessaires. Si vous avez choisi d'autres autorisations d'application, vous devez lire entièrement cette rubrique pour évaluer l'impact et prendre les mesures appropriées.
Évaluation de l'impact
Les modifications suivantes apportées par Facebook nécessitent votre attention :
Autorisations
L'autorisation « basic_info », qui fait implicitement partie de chaque demande de Facebook, est remplacée par l'autorisation « public_profile », qui est également implicite. Les jeux d'autorisations sont identiques dans les deux cas mais, dans le deuxième, la liste d'amis fait partie d'une autorisation « user_friends » distincte. Pour obtenir une fonctionnalité équivalente à l'autorisation « basic_info », vous devez demander explicitement l'autorisation « user_friends ».
Des modifications significatives ont été apportées aux autorisations basées sur « friends ». Le Guide de mise à niveau de la plateforme Facebook les décrit en détail.
Facebook nécessite des applications qui demandent des autorisations supplémentaires au-delà de « basic_profile », « e-mail » et « user_friends » pour passer par le biais de leur processus de révision de connexion .
Autorisations refusées
Facebook permet aux utilisateurs de choisir les autorisations à accorder à une application, ainsi que de refuser des autorisations de manière sélective. Les applications doivent gérer ces cas d'usage.
Les utilisateurs ne peuvent pas refuser l'autorisation « public_profile ».
Si un utilisateur refuse l'autorisation « email », ACS ne renvoie par la revendication « email » dans le jeton à l'application.
Identifiants utilisateur à l'échelle de l'application
Les identifiants utilisateur envoyés dans le jeton ACS en tant que revendication « Name identifier » passent du niveau d'ID de portée globale (identifiant utilisateur identique pour plusieurs applications Facebook) au niveau d'ID de portée application (identifiant utilisateur différent pour chaque application Facebook).
C'est le cas uniquement pour les nouveaux utilisateurs Facebook qui se connectent à l'application. La compatibilité descendante est assurée pour les utilisateurs qui se sont déjà connectés à l'application.
Si l’application s’appuie sur des ID d’utilisateur à portée mondiale pour mettre en corrélation l’utilisateur sur différentes inscriptions d’applications Facebook, il devra apporter des ajustements et utiliser l’API De mappage d’entreprise de Facebook pour le faire de même.
Recommandations
Si vous constatez un impact sur vos applications ACS activées pour Facebook, voici une liste non exhaustive de recommandations. Certaines d'entre elles ne s'appliquent peut-être pas à votre cas. Reportez-vous au Guide de mise à niveau de la plateforme Facebook pour obtenir la liste complète.
Assurez-vous de l'absence de dépendances par rapport à des autorisations d'application obsolètes.
Envoyez des autorisations d’application étendues pour la révision de connexion de Facebook. Vous pouvez également réduire l'échelle de votre application afin d'utiliser uniquement des autorisations d'application « basic_profile », « email » et « user_friends ».
Mettez à jour la logique de votre application pour gérer les autorisations refusées.
Mettez à jour la logique de votre application pour gérer les identifiants utilisateur au niveau application si vous devez mettre en corrélation des utilisateurs entre plusieurs inscriptions d'application Facebook. Utilisez l’API De mappage d’entreprise de Facebook pour ce faire.