跳转到主要内容

符合意大利钱包解决方案的SATOSA后端构建OpenID4VP RP的Python工具链。

项目描述

eudi-wallet-it-python

CI build Python version py-versions GitHub issues Get invited Join the #spid openid

EUDI钱包Python工具链是一套Python库,旨在简化根据意大利钱包实现配置文件实现EUDI钱包RP。

工具链包含以下组件

名称 描述
jwk 根据RFC7517的JSON Web Key (JWK)。
jwt 根据RFC7519RFC7515RFC7516签名和加密的JSON Web Token (JWT)。
tools.qrcode 创建QR码
oauth2.dpop 根据OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP)发行和解析DPoP实体的工具
federation 根据OpenID Federation 1.0的信任评估机制
trust 处理X.509和OpenID Federation信任评估机制的辅助类
satosa.backend 根据OpenID for Verifiable Presentations的SATOSA RP后端
openid4vp OpenID for Verifiable Presentations相关的类和模式
presentation_exchange DiF Presentation Exchange相关的资源
sd_jwt 根据Selective Disclosure for JWTs (SD-JWT)发行和验证SD-JWT

设置

安装环境和依赖项

sudo apt install python3-dev python3-pip git
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install virtualenv

激活环境。这是可选的,您可以选择在单独的环境或全局范围内安装

virtualenv -p python3 env
source env/bin/activate

使用pip安装

pip install pyeudiwpip install pyeudiw[satosa] 以安装satosa后端。

使用github安装

pip install git+https://github.com/italia/eudi-wallet-it-python

可选:为了生成文档,您需要安装以下包:pip install sphinx sphinx_rtd_theme

文档

API文档可在githubpages中找到,此处

docs/文件夹中,有一些针对特定任务的常见示例。

构建文档

要在终端中生成文档,请输入以下命令。最后一个参数是排除路径,单元测试将不会被排除在API文档之外。

cd docs
sphinx-apidoc -o ./source ../pyeudiw ../pyeudiw/tests
make html

示例项目

示例项目是一个docker-compose,它运行以下组件的演示:

  • 支持SAML2和Bootstrap Italia模板的Wordpress,预先注册到IAM代理。
  • Satosa-Saml2Spid IAM代理,具有预配置的OpenID4VP后端。

请阅读此README以获取具有SAML2支持的完全工作的Wordpress配置。

SatoSa配置

SaToSa是一个通用IAM代理解决方案,它允许不同实体之间实现不同认证协议(如SAML2、OpenID Connect和OAuth2)的互操作性。该项目提供了一个SaToSa后端,以启用OpenID4VP协议。

请阅读此README以了解如何使用OpenID4VP Relying Party后端配置SaToSa的详细信息。

贡献

欢迎您的贡献,任何问题都不会是多余的,任何答案都不是显而易见的,我们需要您。

作为终端用户贡献

如果您发现了一个错误或想询问一些功能,请打开一个问题。

作为开发者贡献

请将您的Pull Requests提交到dev分支。请考虑以下分支:

  • main:我们在标记新的稳定版本之前合并代码的分支。
  • dev:我们在开发过程中推送代码的分支。
  • other-custom-name:新功能/贡献/错误修复将在此分支上处理、修订,然后合并到dev分支。

作者

  • Giuseppe De Marco
  • Pasquale De Rose
  • Alessio Murru
  • Salvatore Laiso
  • Nicola Saitto

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

pyeudiw-0.8.0.tar.gz (96.5 kB 查看哈希)

上传时间

构建分布

pyeudiw-0.8.0-py3-none-any.whl (127.6 kB 查看哈希)

上传时间 Python 3

支持