2014-09-16 13 views
9

Ho un'applicazione Rails con account admin che utilizza Devise per l'autenticazione. Sto creando una seconda applicazione e vorrei autenticarmi usando la prima applicazione invece di duplicare gli account admin nella seconda applicazione. Quindi la mia idea è di trasformare la prima applicazione in un provider OAuth in modo che la seconda app possa semplicemente agire come un client OAuth usando qualcosa come OmniAuth. L'hai già fatto prima? Esiste un plugin che aggiunge la capacità di Devise di essere in grado di agire come fornitore OAuth? Cosa devo modificare/aggiungere per trasformare l'app in un provider OAuth?Come trasformare un'app Rails con Devise in un provider OAuth?

risposta

10

Utilizzare Doorkeeper gem. È facile introdurre le funzionalità del provider OAuth 2 nella tua applicazione. Può anche essere integrato con Devise.

Doorkeeper fornisce anche un'opzione di configurazione per l'autoapprovazione e saltare il passaggio di autorizzazione. Ciò è utile quando si lavora con una serie di applicazioni attendibili, in modo da non confondere gli utenti richiedendo loro di "autorizzare" l'app di fiducia della propria azienda.

# in config/initializers/doorkeeper.rb 
Doorkeeper.configure do 
    # ...other config options... 

    skip_authorization do 
    true 
    end 

end 
+0

Cool, grazie. Più ho fatto delle ricerche ... sembra che quello che ho veramente bisogno di usare sia il protocollo CAS (Central Authentication Service), non OAuth, dal momento che il punto è quello di fornire un'applicazione centrale per gli amministratori che accedono ad un set noto di app. Non so se avete qualche idea su questo ... – Andrew

+0

Ho creato una nuova domanda per questa discussione: http://stackoverflow.com/questions/25879419/how-to-turn-a-rails-app-with-devise- in-a-SSO-cas-Server – Andrew

Problemi correlati