Autenticazione SPID per Ruby on Rails. Questa gemma si appoggia alla gemma ruby-saml.
Aggiungere nel Gemfile
gem 'spid-rails'
ed eseguire
$ bundle
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
La gemma fornirà una serie di helpers per la generazione dei paths:
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:
https://www.spid.gov.id/L1
AttributeConsumingService
, l'indice del servizio che vogliamo utilizzare. Default: 0spid_logout_path(idp_name: idp_entity_id)
Come sopra, crea un link per iniziare il processo di logout verso l'IdP
The gem is available as open source under the terms of the MIT License.