将OIDC (OpenID Connect) 插件集成到Django CMS中。
项目描述
DjangoCMS OIDC (OpenID Connect)
基于Mozilla Django OIDC的用户身份验证OpenID插件。
安装
$ pip install djangocms-oidc
注意!如果您正在使用项目django-python3-ldap,您必须使用高于0.11.3的版本。
requirements.txt中的示例
django-python3-ldap @ git+https://github.com/etianen/django-python3-ldap.git@759d3483d9e656fef2b6a2e669101bca3021d9d5
将设置添加到settings.py
首先,修改您的settings.py文件,进行以下更改。
# Add 'mozilla_django_oidc' and 'djangocms_oidc' to INSTALLED_APPS
INSTALLED_APPS = [
# ...
'multiselectfield',
'django_countries',
'mozilla_django_oidc', # place after auth (django.contrib.auth)
'djangocms_oidc',
]
AUTHENTICATION_BACKENDS = [
# ...
'djangocms_oidc.auth.DjangocmsOIDCAuthenticationBackend',
]
MIDDLEWARE = [
# ...
'djangocms_oidc.middleware.OIDCSessionRefresh',
]
# Define OIDC classes
OIDC_AUTHENTICATE_CLASS = "djangocms_oidc.views.DjangocmsOIDCAuthenticationRequestView"
OIDC_CALLBACK_CLASS = "djangocms_oidc.views.DjangocmsOIDCAuthenticationCallbackView"
OIDC_OP_AUTHORIZATION_ENDPOINT = "https://example.com/authorization-endpoint"
OIDC_RP_CLIENT_ID = "myClientId"
将OIDC URL添加到urls.py
修改您的项目urls.py文件。
urlpatterns = [
# ....
path('oidc/', include('mozilla_django_oidc.urls')),
path('djangocms-oidc/', include('djangocms_oidc.urls')),
]
设置
大多数设置与项目Mozilla Django OIDC相同。
以下值在插件中定义。因此,无需在项目设置中设置它们。它们没有效果。
OIDC_RP_CLIENT_ID
OIDC_RP_CLIENT_SECRET
OIDC_OP_AUTHORIZATION_ENDPOINT
OIDC_OP_TOKEN_ENDPOINT
OIDC_OP_USER_ENDPOINT
OIDC_RP_SCOPES参数由于重载函数verify_claims,其行为与mozilla-django-oidc中的参数不同。该参数包含一组声明名称的字符串。如果其中至少有一个在提供者的响应中存在,则数据交接的验证会被执行。参数的默认值是'openid2_id openid email'。必须交接这些数据之一,否则将忽略提供者的响应。
在管理中的使用
这些插件在管理中可供编辑使用
OIDC 交接数据
OIDC 登录
OIDC 列标识符
OIDC 显示专属内容
OIDC 显示属性
OIDC 显示属性国家
如何使用提供者MojeID
主页 › Djangocms_Oidc › Oidc 注册消费者 › oidc 注册消费者:添加
名称:MojeID 测试
主页 › Djangocms_Oidc › Oidc 提供者 › oidc 提供者:添加
名称:MojeID 测试代码:mojeid注册消费者:MojeID 测试
页面结构:添加
OpenID Connect:OIDC 交接数据提供者:MojeID 测试声明:{…}(从下面的示例中复制)对于mojeid,请参阅.well-known中的“claims_supported”列表openid-configuration。按名称验证:…(从下面的示例中复制)
如何运行示例
在Docker中运行示例。按照以下步骤安装
$ git clone https://github.com/CZ-NIC/djangocms-oidc-form-fields.git
$ cd djangocms-oidc-form-fields/example
$ docker-compose build web
$ docker-compose run --user $(id -u):$(id -g) web python manage.py migrate
$ docker-compose run --user $(id -u):$(id -g) web python manage.py loaddata site.json
启动web服务器
$ docker-compose up -d
在您的浏览器中打开:http://localhost:8000/。要登录到管理界面,请在http://localhost:8000/admin使用admin:password。
停止web服务器
$ docker-compose down
许可协议
本软件根据GNU GPL许可协议授权。有关更多信息,请查看LICENSE文件。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
djangocms_oidc-4.2.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | fa8809e8be6d7a9f097616d807949905d2559a4a45f1c7ae45f8d09842715393 |
|
MD5 | 6d1693437882ed400ef7926d965c1ac1 |
|
BLAKE2b-256 | e69a30d91a8cdaad260e7e0039d6c077a269728ecef3d3b406999bc700fcaf07 |
djangocms_oidc-4.2.0-py3-none-any.whl的哈希值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 79cf13a14465e8ef5310a40d296f65b1d46266d64a3e6bef326c24a2d0598d18 |
|
MD5 | 1fc3f72885964f3b73b7f19143307f67 |
|
BLAKE2b-256 | d232b6ec9589d5c49e6eb328d878f72230824627661c7be0d0aeb0e00a28eb87 |