Quando si implementa il login di Facebook usando oAuth2 (la versione Javascript), ricevo un token di accesso dal server di autenticazione di Facebook. Fin qui tutto bene.
Il problema che ho è che voglio implementare un back-end RESTful, in cui l'utente deve autenticarsi su ogni richiesta di accesso a una risorsa back-end, utilizzando un token generato dal server. Quello che succede è che quando si utilizza l'accesso standard sul mio sito Web (email + password), questo token viene generato sul server dalla mia applicazione e viene quindi inviato al front-end in cui è memorizzato (tutte le transazioni avvengono su https).
Quindi ho pensato di utilizzare il token di accesso che ricevo da Facebook per memorizzarlo nel mio back-end, se l'utente vuole accedere utilizzando Facebook. In questo modo, ogni richiesta RESTful al back-end potrebbe essere controllata con questo token.
Il problema, tuttavia, è che il back-end non può controllare se il token ricevuto dal client è un token di accesso di Facebook valido (questa è un'applicazione client Javascript, strongmente basata su Ajax per tutte le comunicazioni del server). Anche se posso scrivere Javascript solo per inviare il token di accesso al back-end su autenticazione riuscita con il server FB, questo processo non è affidabile in quanto Javascript non è protetto.
La mia domanda è:
How can I safely store a token in my back end, after the user authenticated with Facebook?
Si noti che sto creando un'applicazione Javascript usando Backbone.