{"id":14983711,"url":"https://github.com/simevo/spid-symfony3-example","last_synced_at":"2026-02-22T13:41:59.424Z","repository":{"id":83046810,"uuid":"146578418","full_name":"simevo/spid-symfony3-example","owner":"simevo","description":"Example Symfony3 project based on spid-symfony-bundle","archived":false,"fork":false,"pushed_at":"2018-10-12T13:23:46.000Z","size":856,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T12:15:39.582Z","etag":null,"topics":["php","spid","symfony","symfony3"],"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/simevo.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":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-29T09:39:27.000Z","updated_at":"2018-10-12T13:23:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"505d9fe6-bc2a-44b9-8e98-ecb734f47906","html_url":"https://github.com/simevo/spid-symfony3-example","commit_stats":{"total_commits":24,"total_committers":3,"mean_commits":8.0,"dds":0.5833333333333333,"last_synced_commit":"399e3c78abc02bf1c6a74d647cbff5443350aa29"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simevo/spid-symfony3-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simevo%2Fspid-symfony3-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simevo%2Fspid-symfony3-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simevo%2Fspid-symfony3-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simevo%2Fspid-symfony3-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simevo","download_url":"https://codeload.github.com/simevo/spid-symfony3-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simevo%2Fspid-symfony3-example/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266270464,"owners_count":23902734,"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","symfony3"],"created_at":"2024-09-24T14:07:48.866Z","updated_at":"2025-10-24T03:40:09.833Z","avatar_url":"https://github.com/simevo.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/italia/spid-graphics/blob/master/spid-logos/spid-logo-b-lb.png\" alt=\"SPID\" data-canonical-src=\"https://github.com/italia/spid-graphics/blob/master/spid-logos/spid-logo-b-lb.png\" width=\"500\" height=\"98\" /\u003e\n\n[![Join the #spid-perl channel](https://img.shields.io/badge/Slack%20channel-%23spid--perl-blue.svg?logo=slack)](https://developersitalia.slack.com/messages/C7ESTMQDQ)\n[![Get invited](https://slack.developers.italia.it/badge.svg)](https://slack.developers.italia.it/)\n[![SPID on forum.italia.it](https://img.shields.io/badge/Forum-SPID-blue.svg)](https://forum.italia.it/c/spid)\n[![Build Status](https://travis-ci.com/simevo/spid-symfony3-example.svg?branch=master)](https://travis-ci.com/simevo/spid-symfony3-example)\n\n# spid-symfony3-example\n\nExample Symfony3 project based on [spid-symfony-bundle](https://github.com/italia/spid-symfony-bundle) to demonstrate how to integrate SPID login.\n\n[SPID](https://www.spid.gov.it/) is the Italian digital identity system, which enables citizens to access all public services with a single set of credentials.\n\nThe project [was initially created](https://symfony.com/doc/3.4/setup.html) with:\n\n```sh\nphp symfony.phar new spid-symfony3-example 3.4\n```\n\n## Getting Started\n\nTested on: amd64 Debian 9.5 (stretch, current stable) with PHP 7.0.\n\nSupports PHP 7.0, 7.1 and 7.2.\n\n### Prerequisites\n\n```\nsudo apt install composer make openssl php-curl php-zip php-xml phpunit php-cli\n```\n\n### Configuring and Installing\n\nBefore using this package, you must:\n\n1. Configure your application in the `app/config/parameters.yml` file (you can use `app/config/parameters.yml.dist` as a template)\n\n2. Configure SPID in the `spid_symfony` key in the `app/config/config.yml` file, you should at least adapt the base url (used in the `sp_entityid`, `sp_singlelogoutservice` and `sp_assertionconsumerservice` keys) to your needs\n\n3. Install PHP dependencies with composer\n\n4. Download and verify the Identity Provider (IdP) metadata files; it is advised to place them in a separate [idp_metadata/](example/idp_metadata/) directory. A convenience tool is provided for this purpose: [bin/download_idp_metadata.php](bin/download_idp_metadata.php).\n\n5. Generate key and certificate for the Service Provider (SP).\n\nThe last three steps can be performed in an unattended fashion with:\n```sh\ncomposer install\nmkdir -p example/idp_metadata\nmake -f ./vendor/italia/spid-php-lib/Makefile\n./vendor/italia/spid-php-lib/bin/download_idp_metadata.php ./example/idp_metadata\n```\n\n**NOTE**: during testing, it is highly adviced to use the test Identity Provider [spid-testenv2](https://github.com/italia/spid-testenv2).\n\n### Demo\n\n  1. Execute the `php bin/console server:start` command\n\n  2. Visit http://localhost:8000/metadata to get the SP (Service Provider) metadata, then copy these over to the IdP and register the SP\n\n  3. Browse to the http://localhost:8000/reserved, you should see: `Authentication Required`\n\n  4. Visit http://localhost:8000/ and click `login`\n\n  5. Browse to the http://localhost:8000/reserved, you should see: `Really reserved stuff here !`\n\nThis screencast shows what you should see if all goes well:\n\n![img](images/screencast.gif)\n\n## Troubleshooting\n\nIt is advised to install a browser plugin to trace SAML messages:\n\n- Firefox:\n\n  - [SAML-tracer by Olav Morken, Jaime Perez](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/)\n  - [SAML Message Decoder by Magnus Suther](https://addons.mozilla.org/en-US/firefox/addon/saml-message-decoder-extension/)\n\n- Chrome/Chromium:\n\n  - [SAML Message Decoder by Magnus Suther](https://chrome.google.com/webstore/detail/saml-message-decoder/mpabchoaimgbdbbjjieoaeiibojelbhm)\n  - [SAML Chrome Panel by MLai](https://chrome.google.com/webstore/detail/saml-chrome-panel/paijfdbeoenhembfhkhllainmocckace)\n  - [SAML DevTools extension by stefan.rasmusson.as](https://chrome.google.com/webstore/detail/saml-devtools-extension/jndllhgbinhiiddokbeoeepbppdnhhio)\n\nIn addition, you can use the [SAML Developer Tools](https://www.samltool.com/online_tools.php) provided by onelogin to understand what is going on\n\n## Testing\n\n### Unit tests\n\nLaunch unit tests with PHPunit:\n```\n./vendor/bin/phpunit --stderr --testdox tests\n```\n\n### Linting\n\nThis project complies with the [PSR-2: Coding Style Guide](https://www.php-fig.org/psr/psr-2/).\n\nLint the code with:\n```\n./vendor/bin/phpcs --standard=PSR2 xxx.php\n```\n\n## Contributing\n\nFor your contributions please use the [git-flow workflow](https://danielkummer.github.io/git-flow-cheatsheet/).\n\n## See also\n\n* [SPID page](https://developers.italia.it/it/spid) on Developers Italia\n\n## Authors\n\nAndrea Manzi (Comune di Firenze) and Paolo Greppi (simevo s.r.l.)\n\n## License\n\nCopyright (c) 2018, The respective authors\n\nLicense: BSD 3-Clause, see [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimevo%2Fspid-symfony3-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimevo%2Fspid-symfony3-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimevo%2Fspid-symfony3-example/lists"}