{"id":13650021,"url":"https://github.com/italia/spid-rails","last_synced_at":"2025-04-13T19:22:58.205Z","repository":{"id":56896625,"uuid":"104078499","full_name":"italia/spid-rails","owner":"italia","description":"SPID authentication for Ruby on Rails","archived":false,"fork":false,"pushed_at":"2018-10-09T14:50:49.000Z","size":203,"stargazers_count":13,"open_issues_count":1,"forks_count":9,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-04-25T01:42:11.126Z","etag":null,"topics":["devise","omniauth","ruby","ruby-on-rails","sso"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/italia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-19T13:28:34.000Z","updated_at":"2021-10-28T08:38:38.000Z","dependencies_parsed_at":"2022-08-21T01:20:31.726Z","dependency_job_id":null,"html_url":"https://github.com/italia/spid-rails","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/italia","download_url":"https://codeload.github.com/italia/spid-rails/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248766688,"owners_count":21158302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devise","omniauth","ruby","ruby-on-rails","sso"],"created_at":"2024-08-02T02:00:32.793Z","updated_at":"2025-04-13T19:22:58.173Z","avatar_url":"https://github.com/italia.png","language":"Ruby","funding_links":[],"categories":["🎭 SPID"],"sub_categories":[],"readme":"# spid-rails [![Build Status](https://secure.travis-ci.org/italia/spid-rails.svg)](http://travis-ci.org/italia/spid-rails)\nAutenticazione SPID per Ruby on Rails.\nQuesta gemma si appoggia alla gemma [ruby-saml](https://github.com/onelogin/ruby-saml).\n\n## Cosa c'è e cosa manca\n- [x] Creazione gemma\n- [x] Applicazione demo funzionante con login tramite il server test idp.spid.gov.it\nrepository: https://github.com/rubynetti/rubynetti-rails\n- [x] Login tramite redirect\n- [ ] Login tramite post\n- [X] Sistema di testing automatico\n- [X] Sistema di configurazione\n- [ ] Integrazione con omniauth\n- [ ] Integrazione o esempio di integrazione con devise\n- [X] Configurazione richiesta attributi utente\n\n\n## Installazione\nAggiungere nel Gemfile\n```ruby\ngem 'spid-rails'\n```\ned eseguire \n\n```bash\n$ bundle\n```\n\n### Configurazione\n\nPer creare il file di configurazione:\n\n```bash\n$ rails g spid:rails:config\n```\nche creerà il file `config/initializer/spid-rails.rb` con la configurazione default.\n\nUna volta creata la configurazione bisogna aggiungere il middleware **dopo** il middleware di gestione della sessione. In `config/application.rb`\n\n```ruby\n# config/application.rb\n\nmodule MyApplication\n  class Application \u003c ::Rails::Application\n    config.middleware.insert_after(\n      ::ActionDispatch::Session::CookieStore,\n      ::Spid::Rack\n    )\n  end\nend\n```\n\nQuesta gemma è un wrapper della gemma [spid-ruby](https://github.com/italia/spid-ruby) con funzionalità per semplificare l'utilizzo con rails\n\n\n### Helpers\nLa gemma fornirà una serie di helpers per la generazione dei paths:\n\n#### spid_login_path\n`spid_login_path(idp_name: idp_entity_id, authn_context: Spid::L1, attribute_service_index: 0)`\n\nche genera un url per iniziare il processo di autenticazione con un identity provider: \n\n* idp_name: Obbligatorio, è l'entity_id dell'IdP con cui vogliamo instaurare l'autenticazione\n* authn_context: E' il valore del tipo di autenticazione richiesta. Default: `https://www.spid.gov.id/L1`\n* attribute_service_index: Nel caso in cui l'applicazione disponga di più `AttributeConsumingService`, l'indice del servizio che vogliamo utilizzare. Default: 0\n\n#### spid_logout_path\n`spid_logout_path(idp_name: idp_entity_id)`\nCome sopra, crea un link per iniziare il processo di logout verso l'IdP\n\n## License\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitalia%2Fspid-rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitalia%2Fspid-rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitalia%2Fspid-rails/lists"}