Atualização da Graph API 2.0 do Facebook e ACS
Atualizado em: 17 de julho de 2015
Em 30 de abril de 2015, todos os aplicativos habilitados pelo Facebook serão atualizados para a versão 2.0 do Graph API do Facebook automaticamente. Se você usar o Facebook como um provedor de identidade em um namespace acs, talvez seja necessário fazer alterações nas configurações do provedor de identidade do Facebook no ACS, alterações de código em seu aplicativo ou ambos para evitar o tempo de inatividade. Para obter mais informações sobre os planos do Facebook, consulte o Guia de Atualização da Plataforma do Facebook.
Tela de fundo
O ACS usa os seguintes pontos de extremidade do Facebook: https://www.facebook.com/dialog/oauth, https://graph.facebook.com/oauth/access\_tokenhttps://www.facebook.com/logout.php e https://graph.facebook.com/me. . O Facebook atualiza automaticamente essas solicitações do Graph API “sem versão” para usar a versão 2.0 em 30 de abril de 2015.
Ao adicionar o Facebook como provedor de identidade no ACS, o “email” é definido como uma permissão de aplicativo (por padrão). Se você não tiver escolhido nenhuma permissão de aplicativo (campo vazio) ou o padrão (“email”) em suas configurações de provedor de identidade do Facebook, não é necessário fazer alterações no aplicativo ou configuração. Se você tiver escolhido outras permissões de aplicativo, examine este tópico completamente para avaliar o impacto e tomar as medidas adequadas.
Avaliando o impacto
As seguintes alterações feitas pelo Facebook precisam de sua atenção:
Permissões
A permissão “basic_info”, que é implicitamente parte de cada solicitação do Facebook, é substituída pela permissão “public_profile”, que também é implícita. Os conjuntos de permissões para as duas são idênticos, exceto que no último caso, a lista de amigos faz parte de uma permissão “user_friends” separada. Para obter a funcionalidade equivalente à permissão “basic_info”, solicite a permissão “user_friends” explicitamente.
Foram feitas alterações significativas nas permissões baseadas em “amigos”. O Guia de Atualização da Plataforma do Facebook descreve-os detalhadamente.
O Facebook requer aplicativos que solicitam permissões adicionais além de 'basic_profile', 'email' e 'user_friends' para passar por seu processo de Revisão de Logon .
Permissões recusadas
O Facebook permite que os usuários escolham quais permissões conceder seletivamente a um aplicativo, com a opção de recusar permissões. Os aplicativos terão de lidar com esses casos de uso.
Os usuários não podem recusar a permissão “public_profile”.
Se o usuário recusar a permissão “email”, o ACS não passa a declaração “email” no token de volta para o aplicativo.
As IDs de usuário no escopo do aplicativo
As IDs de usuário enviadas no token de ACS como a declaração “Identificador de nome” são alteradas de IDs de escopo global (mesma ID de usuário em vários aplicativos do Facebook) para IDs de escopo do aplicativo (IDs de usuário diferentes para cada aplicativo do Facebook).
Esse é o caso apenas para usuários do Facebook recém registrados no aplicativo. É compatível com versões anteriores para os usuários que já se conectaram ao aplicativo antes.
Se o aplicativo depender de IDs de usuário com escopo global para correlacionar o usuário em diferentes registros de aplicativos do Facebook, ele precisará fazer ajustes e usar a API de Mapeamento de Negócios do Facebook para fazer o mesmo.
Recomendações
Se você achar que não há impacto nos aplicativos ACS habilitados pelo Facebook, veja a seguir uma lista parcial das recomendações. Nem todas elas podem ser aplicáveis a você. Consulte o Guia de Atualização da Plataforma do Facebook para obter a lista completa.
Certifique-se de que você não tenha dependências em permissões de aplicativos obsoletos.
Envie permissões de aplicativo estendido para a Revisão de Logon do Facebook. Como alternativa, reduza seu aplicativo para usar somente permissões de aplicativo “basic_profile”, “email” e “user_friends”.
Atualize a lógica do aplicativo para lidar com permissões recusadas.
Atualize a lógica do aplicativo para lidar com IDs de usuário no escopo do aplicativo se precisar correlacionar os usuários em vários registros do aplicativo do Facebook. Use a API de Mapeamento de Negócios do Facebook para fazer isso.