Al implementar el inicio de sesión de Facebook usando oAuth2 (la versión de Javascript), recibo un token de acceso del servidor de autenticación de Facebook. Hasta ahora tan bueno.
El problema que tengo es que quiero implementar un back-end RESTful, donde el usuario necesita autenticarse en cada solicitud para acceder a un recurso de back-end, utilizando un token generado por el servidor. Lo que sucede es que cuando uso el inicio de sesión estándar en mi sitio web (correo electrónico + contraseña), este token se genera en el servidor mediante mi propia aplicación y luego se envía al servidor donde está almacenado (todas las transacciones se realizan a través de https).
Así que pensé en usar el token de acceso que recibo de Facebook para almacenarlo en mi back-end, si el usuario desea iniciar sesión usando Facebook. De esta manera, cada solicitud RESTful al back-end podría verificarse con este token.
Sin embargo, el problema es que el back-end no puede verificar si el token recibido del cliente es un token de acceso a Facebook válido (esta es una aplicación de cliente Javascript, que depende en gran medida de Ajax para todas las comunicaciones del servidor). A pesar de que puedo escribir Javascript para enviar solo el token de acceso al back-end después de una autenticación exitosa con el servidor FB, este proceso no es confiable ya que el Javascript no está protegido.
Mi pregunta es:
¿Cómo puedo guardar de forma segura un token en mi back-end, después del usuario? ¿Autenticado con Facebook?
Tenga en cuenta que estoy creando una aplicación Javascript utilizando Backbone.