oauth 2 si autentica con un altro server di autorizzazione

1

Supponiamo di avere mobile app di cui è stato eseguito il backup di Server . il server è sia un server di autorizzazione e risorse .

Ora voglio consentire agli utenti di registrarsi / accedere all'app utilizzando Facebook API . Dopo che l'utente ha autenticato tramite Facebook ottiene un AccessToken . ora ho poche opzioni:

  1. invia il accessToken al mio server di autorizzazione (con utente fbId ), assicurati che sia un accessToken reale, archivia l'accessToken come token di autenticazione utente e gestisci il processo di autotizzazione Oauth2 utilizzando quel accessToken con Il mio server di autorizzazione .
  2. come l'altro ma crea dopo autenticazione sul lato server, crea nuovo accessToken con un refreshToken facoltativo e non utilizzare mai più Facebook AccessToken (solo per recuperare informazioni da Facebook )
  3. su ogni chiamata al mio server delle risorse, utente Facebook authorization server (non lasciare che sia la risposta (-;)

Inoltre, se qualcuno ha familiarità con un post del blog / risorsa online che discute di una situazione del genere, per favore fammi sapere (non ho trovato uno)

    
posta royB 13.04.2015 - 11:36
fonte

1 risposta

1

Per accedere alla tua applicazione con l'account Facebook:

  1. Autentica il client con l'API di Facebook, ottenendo come risultato un token di accesso utente. A questo punto il tuo cliente è sicuro dell'identità dell'utente, ma il tuo server non lo è ancora.
  2. Invia token di accesso utente al server. Ora il server ha un token di accesso utente, ma non è sicuro se è valido.
  3. Esegui il debug del token dal server per assicurarti che sia valido. Qui si utilizza il token di accesso dell'applicazione per controllare il token di accesso dell'utente. È necessario assicurarsi che il token dell'utente sia valido, non scaduto e sia stato rilasciato per la propria applicazione. Se è OK, il tuo server ora è sicuro anche dell'identità dell'utente.
  4. D'ora in poi, non utilizzare il token di accesso utente di Facebook, a meno che non siano necessari alcuni dati dall'account Facebook. Utilizza invece il normale meccanismo di sessione: fornisci cookie o altri token personalizzati, proprio come faresti con il tuo meccanismo di autenticazione.

Fondamentalmente, basta cambiare il normale nome utente / password con il controllo dei token di accesso utente di Facebook. Lo fai solo una volta all'avvio di una sessione.

Per ulteriori informazioni, consulta le best practice sulla sicurezza di accesso .

    
risposta data 13.04.2015 - 17:32
fonte

Leggi altre domande sui tag