Spero che questo non sia troppo ampio ma dopo un sacco di ricerche su google non sono sicuro da dove iniziare. Sto cercando una panoramica introduttiva/noob per aiutarmi a iniziare a costruire un'implementazione di autenticazione per un'applicazione rails 3.Strategia di autenticazione delle rotaie per noob
requisiti tecnici di base:
- applicazione Rails 3 è ospitato sul servizio di terze parti (Heroku)
- Necessità di utilizzare specifico servizio SSO privato esterno per autenticare gli utenti.
- Nessun database o modello utente locale nell'applicazione rails.
- L'autenticazione è basata su token che indica che è presente un cookie speciale che deve essere letto passandogli il token al server SSO (non basato su rotaie).
- Non ho controllo sul server o sull'infrastruttura SSO.
- La fiducia del server SSO è implicita e non si desidera mantenere il database locale di utenti, password o informazioni sensibili. Le informazioni utente esistono solo durante la sessione e il server SSO è autorevole.
- Le informazioni sui token di sessione sono basate su cookie e permangono per la durata della sessione del browser.
Sto cercando un esempio di base/tutorial/strategia/spiegazione di come il processo avrebbe funzionato in rotaie con l'impostazione di cui sopra. Vorrei il processo di essere senza soluzione di continuità per l'utente con il flusso di lavoro che si presenta sostanzialmente in questo modo:
- Passare alla applicazione Rails ->
- reindirizzare gli utenti non autenticati al server SSO ->
- login e l'autenticazione tramite server SSO a distanza ->
- callback/reindirizzare alle rotaie app ->
- cattura informazioni utente passato indietro dal server SSO e caricare le risorse protette in applicazione Rails
strategia è completamente personalizzato utilizzando una risorsa privata SSO e non utilizza un meccanismo di autenticazione e pubblicato (in altre parole, non Facebook, Google, Twitter, OAuth, ecc).
Qualsiasi aiuto sulla terminologia, tutorial coerenti, esempi sarebbe apprezzato.
Edit/Update:
Per essere più precisi Sono anche alla ricerca di una buona documentazione su come creare una strategia di sviluppo personalizzato omniauth. Alcuni tutorial che passano attraverso il tipo di codice richiesto per parlare con un server SSO arbitrario, leggere un token da un cookie e completare l'handshake di autenticazione e il callback/reindirizzamento.
Grazie per i collegamenti. Ho fatto esattamente questo, imparando di più su omniauth. Il problema è che devo costruire qualcosa di abbastanza personalizzato. Nessuna delle strategie disponibili è perfetta per l'ambiente in cui devo operare. In particolare, sto cercando alcuni esempi che spieghino come leggere un token da un cookie e inviarlo al server SSO. Sfortunatamente per me sto lavorando con un'API non documentata. Quindi è un po 'una scatola nera. Ugh! –