Skip to content

francescognarra/spid-rails

 
 

Repository files navigation

spid-rails Build Status

Autenticazione SPID per Ruby on Rails. Questa gemma si appoggia alla gemma ruby-saml.

Cosa c'è e cosa manca

  • Creazione gemma
  • Applicazione demo funzionante con login tramite il server test idp.spid.gov.it repository: https://github.com/rubynetti/rubynetti-rails
  • Login tramite redirect
  • Login tramite post
  • Sistema di testing automatico
  • Sistema di configurazione
  • Integrazione con omniauth
  • Integrazione o esempio di integrazione con devise
  • Configurazione richiesta attributi utente

Installazione

Aggiungere nel Gemfile

gem 'spid-rails'

ed eseguire

$ bundle

Configurazione

Per creare il file di configurazione:

$ rails g spid:rails:config

che creerà il file config/initializer/spid-rails.rb con la configurazione default.

Una volta creata la configurazione bisogna aggiungere il middleware dopo il middleware di gestione della sessione. In config/application.rb

# config/application.rb

module MyApplication
  class Application < ::Rails::Application
    config.middleware.insert_after(
      ::ActionDispatch::Session::CookieStore,
      ::Spid::Rack
    )
  end
end

Questa gemma è un wrapper della gemma spid-ruby con funzionalità per semplificare l'utilizzo con rails

Helpers

La gemma fornirà una serie di helpers per la generazione dei paths:

spid_login_path

spid_login_path(idp_name: idp_entity_id, authn_context: Spid::L1, attribute_service_index: 0)

che genera un url per iniziare il processo di autenticazione con un identity provider:

  • idp_name: Obbligatorio, è l'entity_id dell'IdP con cui vogliamo instaurare l'autenticazione
  • authn_context: E' il valore del tipo di autenticazione richiesta. Default: https://www.spid.gov.id/L1
  • attribute_service_index: Nel caso in cui l'applicazione disponga di più AttributeConsumingService, l'indice del servizio che vogliamo utilizzare. Default: 0

spid_logout_path

spid_logout_path(idp_name: idp_entity_id) Come sopra, crea un link per iniziare il processo di logout verso l'IdP

License

The gem is available as open source under the terms of the MIT License.

About

SPID authentication for Ruby on Rails

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 75.2%
  • HTML 15.6%
  • JavaScript 5.2%
  • CSS 4.0%