Python toolchain for building an OpenID4VP RP with a SATOSA backend compliant to the Italian Wallet Solution.
Project description
eudi-wallet-it-python
The EUDI Wallet Python toolchain is a suite of Python libraries designed to make it easy the implementation of an EUDI Wallet Relying Party according to the Italian specification.
All the components listed below are tailored to this scope.
The toolchain contains the following components:
Name | Description |
---|---|
jwk | JSON Web Key (JWK) according to RFC7517. |
jwt | Signed and encrypted JSON Web Token (JWT) according to RFC7519, RFC7515 and RFC7516 |
tools.qrcode | QRCodes creation |
oauth2.dpop | Tools for issuing and parsing DPoP artifacts, according to OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP) |
openid4vp.federation | Trust evaluation mechanisms, according to OpenID Connect Federation 1.0 |
satosa.openid4vp.backend | SATOSA Relying Party backend, according to OpenID for Verifiable Presentations |
Setup
Install enviroment and dependencies
sudo apt install python3-dev python3-pip git
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install virtualenv
Activate the environment. It's optional and up to you if you want to install in a separate env or system wide
virtualenv -p python3 env
source env/bin/activate
Install using pip:
pip install pyeudiw
or pip install pyeudiw[satosa]
for the satosa backend.
Install using github:
pip install git+https://github.com/italia/eudi-wallet-it-python
Example project
The example project is a docker-compose that runs a demo composed by the following component:
- Wordpress with SAML2 support and Bootstrap Italia template preregistered to the IAM Proxy.
- Satosa-Saml2Spid IAM Proxy with a preconfigured OpenID4VP backend
Please read this README to get a fully working demo setup.
Satosa configuration
To install the OpenID4VP SATOSA backend you just need to:
- install this package
- copy and customize example/pyeudiw_backend.yml
- include the backend configuration in your satosa configuration
- start Satosa.
Please read README-SATOSA.md for details.
Contribute
Your contribution is welcome, no question is useless and no answer is obvious, we need you.
Contribute as end user
Please open an issue if you've found a bug or if you want to ask some features.
###Contribute as developer
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.
Authors
- Giuseppe De Marco
- Pasquale De Rose
- Alessio Murru
- Salvatore Laiso
- Nicola Saitto
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyeudiw-0.3.0.tar.gz
.
File metadata
- Download URL: pyeudiw-0.3.0.tar.gz
- Upload date:
- Size: 65.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86af894cf7f0473bcebf16a8892370eaaf5dd7a2c7640c1b88cc786100727828 |
|
MD5 | 829a10b441c9855336d636b73774994f |
|
BLAKE2b-256 | ab8dfcf64e3584249586b916a544611dbc2919d8fd3dd64a773d2dbcae89a019 |
File details
Details for the file pyeudiw-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: pyeudiw-0.3.0-py3-none-any.whl
- Upload date:
- Size: 88.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0714d20d2fecd999006e8232ecea665340c00e44a28a7328c4873ec6bbdd0675 |
|
MD5 | 1db065c09cf1f4e05f8a34cc99cafd50 |
|
BLAKE2b-256 | 2e32eceea2cd91a6a29447a038fec8c7420b0912498997beaa5332d412b25bd2 |