2011-01-11 21 views
6

Estoy desarrollando una aplicación de Android, así como un sitio web (que también tiene comunicación con el cliente de Android). Quiero usar el inicio de sesión de FB, pero el problema que veo es el siguiente:Android Facebook y servidor web

Cliente, utilice el inicio de sesión de FB y luego obtenga access_token.

Cómo se comunican el Cliente y el Servidor Web simplemente usando este código de acceso, ya que el Servidor Web necesita saber a qué cuenta se está refiriendo el Cliente. También quiero implementar el inicio de sesión de FB en el sitio web también.

Un método que pensaba era:

Acceso Clientes: 1) Uso de inicio de sesión y obtener FB señal_acceso. 2) Use access_token para obtener información del usuario. 3) Proporcione access_token e información de usuario al servidor web. 4) El servidor web también realiza la misma operación de FB con access_token y recupera la información de usuario. 5) Valide las coincidencias de información de usuario y determine la cuenta de usuario basada en eso. 6) Establezca otro access_token entre el Cliente y el Servidor Web para este enlace.

Esto lo hace incluso más válido o tal vez simplemente haciendo el inicio de sesión y recuperando la dirección de correo electrónico del usuario como la cuenta real y le dice al servidor web que esta es la cuenta que debe usar.

¿O alguien lo ha hecho de otra manera?

+0

Stephen, ¿alguna vez se te ocurrió un flujo de inicio de sesión seguro? Estoy enfrentando el mismo problema y tus pasos son lo que iba a intentar. Preguntándose si fue exitoso. –

+0

Brady, hiciste algo :) – ThanksBro

+0

¿te diste cuenta de esto? cualquiera de ustedes: Stephen o @BradyEmerson estoy tratando de hacer lo mismo y necesito saber una buena manera. – necromancer

Respuesta

1

Para la comunicación entre su cliente/servidor, debe usar su propio Id. De cliente.
No retransmitir en el access_token facebook te da porque ha cambiado en varios escenarios.
Obtener el correo electrónico tampoco es una solución completa porque los usuarios pueden decidir no darle su correo.

En general, debe implementar Facebook Connect en ambos lados.

1.Connect en Facebook Nuestro
permisos 2.Get del usuario (leer acerca de los permisos aquí: http://developers.facebook.com/docs/reference/api/permissions/)
3.Registro como su usuario y darle un id (puede usar facebook uid si lo desea) .

Cuando el usuario regresa a su sitio/aplicación necesita iniciar sesión nuevamente, obtener su uid y consultar su servidor para obtener los detalles del usuario.

Una cosa sobre el access_token, lo necesitas para consultar la API de Facebook. Puede obtenerlo desde Facebook cada vez que un usuario inicie sesión en su sitio/dispositivo móvil usando Facebook o puede solicitar al usuario permiso de acceso_acceso_acceso y luego tendrá el mismo access_token hasta que el usuario cambie su contraseña en Facebook, etc. (lea más sobre en los documentos).
Este método le permite consultar las API de Facebook aunque el usuario no está actualmente conectado a su sitio.