italia / spid-rails

SPID authentication for Ruby on Rails
MIT License
13 stars 9 forks source link

Sviluppo gem per autenticazione SPID su Ruby on Rails #1

Closed alranel closed 6 years ago

alranel commented 7 years ago

Ci sono due strade per implementare un plugin per Django:

  1. usare un middleware come Shibboleth
  2. implementare tutto direttamente nel plugin

La prima soluzione è più semplice ed è preferibile. Per i dettagli sulle due possibili soluzioni si vedano le considerazioni scritte nell'analoga issue per SPID-Django.

Per integrare meccanismi di autenticazione su Ruby on Rails si usa preferibilmente Devise, che fornisce uno stack MVP completo con tutte le funzionalità generalmente richieste da una web application. A sua volta Devise può basarsi su un database locale oppure su altri meccanismi di autenticazione attraverso l'integrazione con OmniAuth, libreria che fornisce un layer di astrazione per poter usare una grande quantità di provider e protocolli.

Probabilmente in entrambe le soluzioni sopra indicate conviene lavorare con Devise, e forse anche con OmniAuth?

Link utili:

Per una maggiore manutenibilità l'ideale sarebbe evitare fork di progetti già esistenti, come quelli qui citati, ma sarebbe meglio costruire un layer che li usa senza modificarli.

descovi commented 7 years ago

Qui per ora si è lavorato appoggiandosi sulla gemma ruby-saml: https://github.com/rubynetti/spid-rails/

Nel readme della gemma è possibile ulteriori indicazioni e qui vedere la roadmap: https://github.com/rubynetti/spid-rails/projects/1

Abbiamo più avanti intenzione di rendere il tutto facilmente compatibile con devise perché è una gemma che usiamo in generale per gestire il login/logout delle utenze.

descovi commented 6 years ago

Ciao ci sono novità a riguardo?