{"id":13650131,"url":"https://github.com/italia/spid-symfony-bundle","last_synced_at":"2025-04-19T20:30:43.211Z","repository":{"id":56994046,"uuid":"103651039","full_name":"italia/spid-symfony-bundle","owner":"italia","description":"SPID bundle per framework php Symfony","archived":false,"fork":false,"pushed_at":"2020-10-14T21:55:47.000Z","size":261,"stargazers_count":9,"open_issues_count":5,"forks_count":6,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-11-10T01:35:04.708Z","etag":null,"topics":["php","spid","symfony","symfony-bundle"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","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":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"Security/SpidAuthenticator.php","support":null}},"created_at":"2017-09-15T11:46:46.000Z","updated_at":"2021-07-06T07:47:58.000Z","dependencies_parsed_at":"2022-08-21T13:50:26.996Z","dependency_job_id":null,"html_url":"https://github.com/italia/spid-symfony-bundle","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-symfony-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-symfony-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-symfony-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/italia%2Fspid-symfony-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/italia","download_url":"https://codeload.github.com/italia/spid-symfony-bundle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224941197,"owners_count":17395842,"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":["php","spid","symfony","symfony-bundle"],"created_at":"2024-08-02T02:00:34.067Z","updated_at":"2024-11-16T21:06:47.317Z","avatar_url":"https://github.com/italia.png","language":"PHP","funding_links":[],"categories":["🎭 SPID"],"sub_categories":[],"readme":"# spid-php-symfony\n\n\u003e ⚠️ **WORK IN PROGRESS** ⚠️\n\nQuesto bundle permette di integrare facilmente la libreria `italia/spid-php-lib` in un progetto Symfony.\n\nVengono messe a disposizione delle rotte e dei servizi che possono essere facilmente sovrascritti\n\nUna necessità tipica che non viene implementata da questo bundle è la necessità di salvare i dati dell'utente che arrivano tramite SPID. \n\n# Installazione\n## Step 1: Installazione e configurazione\nInstallare il repository tramite composer\n\n```bash\ncomposer require italia/spid-simfony-bundle\n```\n\nAbilitare il bundle aggiungendolo all' `AppKernel`\n\n```php\n\u003c?php\n// app/AppKernel.php\n\n// ...\nclass AppKernel extends Kernel\n{\n    public function registerBundles()\n    {\n        $bundles = array(\n            // ...\n            new Italia\\SpidSymfonyBundle\\SpidSymfonyBundle(),\n        );\n\n        // ...\n    }\n\n    // ...\n}\n```\nConfigurare il security.yml per usare l'authenticator e lo user provider\n\n```yaml\nsecurity:\n  providers:\n    spid_user_provider:\n      id: id_del_servizio\n  firewalls\n    spid:\n      pattern: /il/vostro/pattern/\n      guard:\n        provider: spid_user_provider\n        authenticators:\n          - spid.authenticator\n```\nIl guardAuthenticator proposto è molto basilare, va esteso secondo le necessità del progetto                  \n\nIncludere il routing se si vogliono usare le rotte di default\n```yaml\nspid_security:\n  resource: '@SpidSymfonyBundle/Resources/config/routing/saml_routes.yml'\n```\nPrestare attenzione alla rotta `acs` che deve ovviamente coincidere con la rotta esposta\n\n\nAggiungere la configurazione del bundle:\n```yaml\nspid_symfony:\n  sp_entityid: 'http://some.site.it'\n  sp_key_file: '%kernel.root_dir%/../example/sp.key'\n  sp_cert_file: '%kernel.root_dir%/../example/sp.crt'\n  sp_singlelogoutservice: \n    - [ 'http://some.site.it/slo', '' ]\n  sp_org_name: 'dev-system'\n  sp_attributeconsumingservice:\n    - [\"name\", \"familyName\", \"fiscalNumber\", \"email\"]\n    - [\"name\", \"familyName\", \"fiscalNumber\", \"email\", \"spidCode\"]\n  sp_assertionconsumerservice:\n    - 'http://some.site.it/acs'\n  sp_org_display_name: 'Sistema di Sviluppo'\n  idp_metadata_folder: '%kernel.root_dir%/../example/idp_metadata'\n```\n\n## Step 2: (opzionale) salvataggio dell'utente \nSe necessario è possibile salvare l'utente recuperato tramite PISD. Il punto più logico dove farlo è dentro l'Authenticator fornito, facendo override del metodo `getUser` e sfruttando i dati contenuti in `$credentials` per istanziare un nuovo utente da persistere\n\n\n## Overrides:\nIl template di login può essere sovrascritto mettendo il proprio in `app/Resources/SpidSymfonyBundle/views/Security/chooseidp.html.twig`\nPer la documentazione relativa al pulsante SPID standard fare riferimento a https://github.com/italia/spid-smart-button\nCe n'è una versione disponibile nel bundle per comodità di test in fase di sviluppo, la versione fornita va sostituita con quella valida al momento della messa in produzione.\n\nIl pulsante fornito con questo bundle non è garantito come valido o funzionante\n\n## IDP\nPer configurare l'IDP di test fare riferimento a https://github.com/italia/spid-testenv2  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitalia%2Fspid-symfony-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitalia%2Fspid-symfony-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitalia%2Fspid-symfony-bundle/lists"}