Actualización y ACS de API Graph 2.0 de Facebook
Actualizado: 17 de julio de 2015
El 30 de abril de 2015, todas las aplicaciones habilitadas para Facebook se actualizarán automáticamente al Graph API v2.0 de Facebook. Si usa Facebook como proveedor de identidades en un espacio de nombres de ACS, es posible que tenga que realizar cambios en las configuraciones del proveedor de identidades de Facebook en ACS, los cambios de código en la aplicación o ambos para evitar tiempo de inactividad. Para obtener más información sobre los planes de Facebook, consulta la Guía de actualización de la plataforma de Facebook.
Información previa
ACS usa los siguientes puntos de conexión de Facebook: https://www.facebook.com/dialog/oauth, https://graph.facebook.com/oauth/access\_tokenhttps://www.facebook.com/logout.php y https://graph.facebook.com/me. Facebook actualizará automáticamente estas solicitudes de "sin versión" Graph API para usar v2.0 el 30 de abril de 2015.
Al agregar Facebook como proveedor de identidades en ACS, se establece "email" como permiso de aplicación (de forma predeterminada). Si no seleccionó ningún permiso de aplicación (campo vacío) o seleccionó el valor predeterminado ("email") en las configuraciones de proveedor de identidades de Facebook, no es necesario realizar ningún cambio de configuración ni de aplicación. Si eligió otros permisos de aplicación, debe revisar este tema completamente para evaluar el impacto y seguir los pasos adecuados.
Evaluación del impacto
Es necesario que tenga en consideración los cambios siguientes realizados por Facebook:
Permisos
El permiso "basic_info", que implícitamente forma parte de cada solicitud de Facebook, se reemplazará por el permiso "public_profile", que también será implícito. Los conjuntos de permisos para los dos son idénticos, salvo que en este último caso la lista de amigos va a formar parte de un permiso "user_friends" independiente. Para obtener la funcionalidad equivalente con el permiso "basic_info", deberá solicitar explícitamente el permiso "user_friends".
Se realizan cambios significativos en los permisos basados en "friends". La Guía de actualización de la plataforma de Facebook los describe con detalle.
Facebook requiere aplicaciones que soliciten permisos adicionales más allá de "basic_profile", "correo electrónico" y "user_friends" para pasar por su proceso de revisión de inicio de sesión .
Permisos rechazados
Facebook permite a los usuarios elegir qué permisos se deben conceder a una aplicación, con la opción de rechazar permisos de forma selectiva. Las aplicaciones tendrán que controlar estos casos de uso.
Los usuarios no pueden rechazar el permiso "public_profile".
Si el usuario rechaza el permiso "email", ACS no pasará la notificación "email" en el token a la aplicación.
Identificadores usuario de ámbito de aplicación
Los identificadores de usuario enviados en el token de ACS como notificación "Name identifier" pasarán de ser identificadores de ámbito global (mismo identificador de usuario en varias aplicaciones de Facebook) a identificadores de ámbito de aplicación (distintos identificadores de usuario para cada aplicación de Facebook).
Este solo sucede con los usuarios de Facebook que acaban de iniciar sesión en la aplicación. Es compatible con versiones anteriores para los usuarios que han iniciado sesión en la aplicación antes.
Si la aplicación se basa en identificadores de usuario de ámbito global para correlacionar al usuario en distintos registros de aplicaciones de Facebook, tendrá que realizar ajustes y usar la API de asignación de negocios de Facebook para hacer lo mismo.
Recomendaciones
Si encuentra que hay consecuencias en las aplicaciones de ACS habilitadas para Facebook, aquí se ofrece una lista no exhaustiva de recomendaciones. Es posible que no todas estas recomendaciones sean aplicables en su caso. Consulte la Guía de actualización de la plataforma de Facebook para obtener la lista completa.
Asegúrese de que no tienen ninguna dependencia sobre los permisos de aplicaciones en desuso.
Enviar permisos de aplicación extendidos para la revisión de inicio de sesión de Facebook. O bien, puede rebajar la aplicación para que utilice solo los permisos de aplicación "basic_profile", "email" y "user_friends".
Actualice la lógica de la aplicación para controlar permisos rechazados.
Actualice la lógica de su aplicación para controlar identificadores de usuario de ámbito de aplicación si tiene que correlacionar usuarios en varios registros de aplicaciones de Facebook. Use la API de asignación de negocios de Facebook para hacerlo.