Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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.

You can’t perform that action at this time.