The SPID/CIE OIDC Federation Relying Party for PHP
- What is SPID/CIE OIDC PHP
- Features
- Setup
- Example projects
- Contribute
- Useful links
- License and Authors
SPID/CIE OIDC PHP is:
- A PHP class library that helps to develop a relying party for SPID/CIE
Are you a Developer and you want to make your own relying party or a plugin for your software?
Read the Technical documentation. - A standalone proxy relying party for SPID/CIE
You can simply setup the proxy project and configure the URL where to receive users's attributes. You can also choice how the attributes will be returned from the proxy, such as plain values, signed or encrypted.
Read How to use as a proxy. - A generic OIDC to SPID/CIE OIDC relying party gateway
Can your application connect to a standard OIDC Provider, but it doesn't have extended functionalities required by the SPID/CIE OIDC Federation? No problem, you can configure your client as a relying party to SPID/CIE OIDC PHP Provider and it will make the rest.
Read How to use as a generic OIDC Provider.
- Interactive setup
- Wizard for certificates generation
- Bootstrap template
- Hooks plugins
- Simple API
- Proxy functions
- Ready to use
git clone https://github.com/italia/spid-cie-oidc-php.git
composer install
After setup go to /service_name/oidc/rp/authz where service_name is the service name configured during setup.
Start the basic example project is as simple as run:
docker pull linfaservice/spid-cie-oidc-php
docker run -it -p 8002:80 -v $(pwd)/config:/var/www/spid-cie-oidc-php/config linfaservice/spid-cie-oidc-php
On the first run the setup will ask for configurations. All configurations will be saved in the ./config directory.
The repository also provides example projects to set up a complete SPID/CIE OIDC Federation.
Read how to set up a federation with the WordPress Example Project.
Read how to set up a federation with the Drupal Example Project.
Your contribution is welcome, no question is useless and no answer is obvious, we need you.
Please open an issue if you've discoveerd a bug or if you want to ask some features.
Please open your Pull Requests on the dev branch. Please consider the following branches:
- main: where we merge the code before tag a new stable release.
- dev: where we push our code during development.
- other-custom-name: where a new feature/contribution/bugfix will be handled, revisioned and then merged to dev branch.
In this project we adopt Semver and Conventional commits specifications.
This software is released under the Apache 2 License by:
- Michele D'Amico (@damikael) michele.damico@linfaservice.it.