2012-03-10 17 views
10

Ho un'app per i binari. Voglio iniziare a abilitare l'integrazione con iOS. Ho un sistema di autenticazione di base costruito principalmente da zero con un piccolo aiuto da Sorcery.Rails: autenticazione del token ex novo

La mia comprensione è che ci sono fondamentalmente due opzioni per l'integrazione mobile: HTTP Basic Auth o Token Auth. Da quello che sono stato in grado di trovare finora sembra che l'autenticazione token sia il metodo preferito.

Non ho familiarità con ciò che l'autenticazione di token è o come dovrebbe funzionare, e non sono stato in grado di trovare alcuna guida decente su questo, tranne alcuni tutorial su come utilizzare il modulo pertinente nel Crea una biblioteca.

Quindi, la mia domanda è, qual è la teoria di base dell'autenticazione token, e come sarebbe un sistema di autenticazione token da zero in rails? Capisco che condividere il codice per l'intero sistema potrebbe essere eccessivo per una risposta SO, ma sarei molto grato se qualcuno mi può aiutare a capire uno schema di base di come dovrebbe funzionare un tale sistema. Accetterei volentieri anche i collegamenti a qualsiasi materiale esistente valido su come farlo da zero, in quanto il problema principale è che non sono stato in grado di trovare nulla di simile.

Grazie!

risposta

3

Penso che ci siano tre difficoltà qui.

  1. ci sono pochissimi libri incentrati sulla tecnica di autenticazione
  2. La parola chiave "token di autenticazione" viene confuso da utilizzare nel campo/autenticazione di sicurezza.
  3. La documentazione relativa alle rotaie tende ad essere "come".

Quindi, Google non rivelerà buone risorse per questo scopo. Conosco bene questo campo, ma è difficile, soprattutto a causa della ragione.

A mio parere, "token" qui funziona come un'identità autenticata nel sistema e fornisce un ponte tra il sistema di autenticazione e il sistema di autorizzazione. Ma per capire questo, devi capire il sistema generale.

Consentitemi di fornire qualche puntatore per quanto riguarda i libri sulla tecnica di autenticazione e alcuni documenti qui.

  1. Butler Lampson ha fatto molti autenticazione lavoro correlato, e alcuni degli articoli sono molto buon materiale per capire framework di autenticazione/autorizzazione. potrebbe essere utile. Uno degli esempi è Computer security in the real world(2004).
  2. Il libro scritto per Public Key Infrastructure (PKI) potrebbe essere utile. ce ne sono molti di questi. Come ad esempio Understanding PKI: Concepts, Standards, and Deployment Considerations, 2nd edition

Spero che questo aiuti.

10

Devise e Authlogic dispongono di una soluzione di autenticazione Token. Puoi utilizzare una di queste gemme o implementare il tuo proprio codice sorgente per l'ispirazione.

Qui di seguito è la mia comprensione di come token di autenticazione funziona:

  1. l'utente accede utilizzando una combinazione username/password attraverso una richiesta palo.
  2. Autenticare l'utente e generare un token univoco e memorizzarlo nel db.
  3. Si invia questo token al dispositivo iOS.
  4. Il dispositivo memorizza questo token in memoria.
  5. Qualsiasi chiamata successiva all'API richiede che questo token sia passato come un parametro aggiuntivo per autorizzare l'utente.
  6. Per garantire che questo processo sia sicuro, questo token deve avere una data di scadenza e la comunicazione tra il dispositivo iOS e il server deve essere crittografata tramite SSL.
  7. Per comodità è possibile memorizzare le credenziali dell'utente sul dispositivo utilizzando il portachiavi iOS.

Spero che questo aiuti.

Problemi correlati