14

En la Configuración de la aplicación Facebook ☞ Avanzado ☞ Autenticación Puedo elegir "Web" o "Native/Desktop" como Tipo de aplicación. El cuadro de información dice:Tipo de aplicación de Facebook: ¿Cuál escoger para móvil Y web?

Sólo

seleccione Nativo/escritorio si usted es un iOS nativa o aplicación para Android, dispositivo o aplicación de escritorio

En realidad, yo no soy ninguno de esos pero mi aplicación es un nativo aplicación de iOS, así como una pestaña de página de Facebook.
Pregunta: ¿Qué tipo de aplicación debo elegir?


hice algunas investigaciones y encontró lo siguiente en el Facebook Android Tutorial (bajo Solucionar):

  • App de tipo Web vs Nativo/escritorio. ¿Importa?: No, no importa . Sin embargo, se recomienda utilizar el tipo 'Native/Desktop' para su aplicación.

¿Qué significa no importa? Eso no tiene sentido para mí. ¿Por qué debería tener una elección, entonces?

he hecho un poco más investigación sobre SO y encontró this statement por @Igy (ingeniero dev apoyo en Facebook):

Si el tipo de aplicación se establece en 'nativo/Escritorio' se asume que distribuido la aplicación del secreto clave con el binario, y por lo tanto el token de acceso aplicación no es de confianza (y 'getAccessToken' en el SDK de PHP se sólo funcionan cuando los usuarios inician sesión en reales, no puede caer de nuevo al testigo de aplicación)

Finalmente encontré esto en el Facebook documentation:

Nota: Las aplicaciones que están configurados como aplicaciones nativas de/escritorio no será capaz de hacer llamadas a la API que requieren una aplicación access_token.

Necesito realizar llamadas a la API que requieren un token de acceso desde la aplicación de pestañas de mi página, por lo tanto, mi conclusión es elegir "Web" como Tipo de aplicación, aunque tengo una aplicación iOS nativa que usa el mismo ID de aplicación como la aplicación de pestaña de página. Pero, ¿tendrá algún inconveniente en la aplicación de iOS?

Respuesta

15

TL; DR: Uso 'web' a menos que usted está poniendo el secreto aplicación en el directorio/binaria

La principal diferencia Android iOS (y también la razón por la que dice 'no importa' y al mismo tiempo dando una recomendación) es que si eliges el modo "nativo/escritorio", se supone que distribuyes el binario de la aplicación con el secreto de la aplicación incrustado y el secreto de la aplicación no se considera confiable.

En esta configuración, las llamadas API que usan la aplicación secreta (p.crear usuarios de prueba, realizar llamadas a API en nombre de la aplicación como cambiar la configuración de la aplicación, publicar logros, etc.) no funcionará.

Si su aplicación no necesita utilizar el token de aplicación de aplicación secreta/acceso, configurarlo en nativo/escritorio aumenta la seguridad ya que hay un vector de ataque menos para su aplicación.

Si está distribuyendo la aplicación secreta con su código, DEBE usar esa opción o los usuarios podrían determinar fácilmente la aplicación secreta y secuestrar la aplicación.

Cuestiones relacionadas