django oidc provider
项目描述
django-oidc-op
这是一个基于 jwtconnect.io 的 Django 实现的 OIDC 提供商/OAuth2 AS。该项目基于 IdentityPython oidc-op。有关其功能和特性的更多信息,请参阅官方 oidc-op 文档。
配置标准 OIDC 提供商,您需要编辑 oidcop 配置文件。查看 django-oidc-op/oidc_provider/tests/example/example/settings.py
和 django-oidc-op/oidc_provider/tests/example/example/oidc_provider_settings.py
以获取更多信息。
运行示例演示
git clone https://github.com/peppelinux/django-oidc-op.git
cd django-oidc-op
pip install -r requirements.txt
cd example
./manage.py createsuperuser
bash run.sh
示例依赖方
您可以使用 JWTConnect-Python-OidcRP 如下所示
cd JWTConnect-Python-OidcRP/example
RP_LOGFILE_NAME="./flrp.django.log" python3 -m flask_rp.wsgi ../django-oidc-op/example/data/oidc_rp/conf.django.yaml
您还可以在 oidc-rp 上使用脚本化 RP 处理程序
python3 snippets/rp_handler.py -c oidc_provider/tests/oidc_rp/conf.json -u test -p testami18 -iss django_provider
配置
该项目完全依赖于 oidcop 提供的行为和功能,为了在 Django 中实现彻底的集成,它采用了以下自定义。
oidc_provider_settings.py
在示例项目中,它处理了所有 oidcop 配置。我认为这更简洁,但请随意根据您喜欢的架构进行适配。
设置
OIDCOP_CONFIG
是一个包含 oidcop 配置的 Python 字典。OIDC_URL_PREFIX
,例如:如果存在,将用作所有 oidcop 端点的 URL 路径,除了.well-known/openid-configuration
。在示例项目中,我将此参数放在oidc_provider_settings
中,默认为''
。
用户信息端点
即将发布的声明配置在 op.server_info.user_info
(在 oidc_provider_settings.py
文件中)。发布属性和用户身份验证机制依赖于 oidc_op/users.py
中实现的类。
配置示例
"userinfo": {
"class": "oidc_provider.users.UserInfo",
"kwargs": {
# map claims to django user attributes here:
"claims_map": {
"phone_number": "telephone",
"family_name": "last_name",
"given_name": "first_name",
"email": "email",
"verified_email": "email",
"gender": "gender",
"birthdate": "get_oidc_birthdate",
"updated_at": "get_oidc_lastlogin"
}
}
}
开发者
运行测试
运行测试
./manage.py test oidc_provider
覆盖率
coverage erase
coverage run manage.py test oidc_provider
coverage report -m
作者
- Giuseppe De Marco
画廊
依赖方
会话管理和令牌预览
项目详情
关闭
oidc_provider-2.3.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ceb3fa3a7448faf1ce813122558e154aca9b6b6372e2983c3595c70d4fcc42ae |
|
MD5 | 1a7b90159ad25c97f8e70076b1e73e78 |
|
BLAKE2b-256 | 3e513b4d5f894f9895ebddc166ddeb466cc77ab71f016bfc3d645d365875acf4 |