Ho sviluppato la mia concessione di autorizzazione personalizzata.
I passaggi che sto intraprendendo sono i seguenti:
- Ricevo il codice di autorizzazione di Facebook dal dispositivo mobile (questa è un'API per dispositivi mobili)
- Scambio il codice di autenticazione per un token di accesso di Facebook usando curl. Salva il token di accesso nel database e lo associo a un utente che ho creato utilizzando i dati di Facebook (api ('/ me'))
- Ritorna il token di accesso al dispositivo mobile
- Il dispositivo mobile effettua una richiesta POST al mio oouth endpoint fornendo il token di accesso. In questa fase, prendo il token di accesso dal modulo, lo convalido come una stringa, lo ispeziono utilizzando l'API di Facebook Graph (con curl) per verificare che l'ID app e l'ID utente corrispondano e quindi visualizzarlo nel mio database. Se esiste una riga, controllo se l'e-mail dell'utente associato corrisponde all'e-mail fornita nei dati POST insieme al token. Se corrisponde, restituisco user_id e genera il mio token specifico dell'app utilizzando oauth.
Tutto questo viene fatto in un ambiente HTTPS.
Questo è considerato sicuro?
EDIT : ho finito per utilizzare questo pacchetto per Laravel. Ho ancora bisogno di creare un utente con i dati di Facebook sul mio database, ma la parte di autenticazione è ora gestita dal pacchetto.