Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/italia/spid-rails
SPID authentication for Ruby on Rails
https://github.com/italia/spid-rails
devise omniauth ruby ruby-on-rails sso
Last synced: 9 days ago
JSON representation
SPID authentication for Ruby on Rails
- Host: GitHub
- URL: https://github.com/italia/spid-rails
- Owner: italia
- License: mit
- Created: 2017-09-19T13:28:34.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-09T14:50:49.000Z (about 6 years ago)
- Last Synced: 2024-04-25T01:42:11.126Z (7 months ago)
- Topics: devise, omniauth, ruby, ruby-on-rails, sso
- Language: Ruby
- Size: 198 KB
- Stars: 13
- Watchers: 11
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE
Awesome Lists containing this project
- .github - spid-rails
README
# spid-rails [![Build Status](https://secure.travis-ci.org/italia/spid-rails.svg)](http://travis-ci.org/italia/spid-rails)
Autenticazione SPID per Ruby on Rails.
Questa gemma si appoggia alla gemma [ruby-saml](https://github.com/onelogin/ruby-saml).## Cosa c'è e cosa manca
- [x] Creazione gemma
- [x] Applicazione demo funzionante con login tramite il server test idp.spid.gov.it
repository: https://github.com/rubynetti/rubynetti-rails
- [x] Login tramite redirect
- [ ] Login tramite post
- [X] Sistema di testing automatico
- [X] Sistema di configurazione
- [ ] Integrazione con omniauth
- [ ] Integrazione o esempio di integrazione con devise
- [X] Configurazione richiesta attributi utente## Installazione
Aggiungere nel Gemfile
```ruby
gem 'spid-rails'
```
ed eseguire```bash
$ bundle
```### Configurazione
Per creare il file di configurazione:
```bash
$ 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`
```ruby
# config/application.rbmodule MyApplication
class Application < ::Rails::Application
config.middleware.insert_after(
::ActionDispatch::Session::CookieStore,
::Spid::Rack
)
end
end
```Questa gemma è un wrapper della gemma [spid-ruby](https://github.com/italia/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](http://opensource.org/licenses/MIT).