italia / spid-rails

SPID authentication for Ruby on Rails
MIT License
13 stars 9 forks source link
devise omniauth ruby ruby-on-rails sso

spid-rails Build Status

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

Cosa c'è e cosa manca

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:

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.