用于django的scim 2.0提供程序规范的部分实现。
django-scim2的Python项目详细描述
这是scim 2.0[1]的提供者端实现 Django使用规范。
请注意,目前唯一受支持的数据库是postgres。
安装
使用pip安装:
$ pip install django-scim2
然后将django_scim应用程序添加到django设置中的INSTALLED_APPS中:
INSTALLED_APPS = ( ... 'django_scim', )
添加适当的中间件以授权或拒绝scim调用:
MIDDLEWARE_CLASSES = ( ... 'django_scim.middleware.SCIMAuthCheckMiddleware', ... )
确保将此中间件放置在身份验证中间件之后,如下所示 中间件只需检查request.user.is_anonymous()以确定scim 应允许或拒绝请求。
将必要的url模式添加到根url.py文件中。请注意 命名空间是必需的,必须命名为scim
# Django 1.11 urlpatterns = [ ... url(r'^scim/v2/', include('django_scim.urls', namespace='scim')), ] # Django 2+ urlpatterns = [ ... path('scim/v2/', include('django_scim.urls')), ]
最后,将适合您应用程序的设置添加到settings.py文件:
SCIM_SERVICE_PROVIDER = { 'NETLOC': 'localhost', 'AUTHENTICATION_SCHEMES': [ { 'type': 'oauth2', 'name': 'OAuth 2', 'description': 'Oauth 2 implemented with bearer token', }, ], }
可以提供其他SCIM设置,但需要上面列出的设置。
许可证
这个库是根据mit许可证的条款发布的。LICENSE.txt文件中的完整详细信息。
扩展性
这个库是分叉的,开发成高度可扩展的。许多 可以定义适配器来控制不同的端点对资源的作用。 有关详细信息,请参阅文档。
请注意:此应用程序不实现授权和身份验证。 这样的任务留给Django OAuth Toolkit等其他应用程序来实现。
学分
这个项目是由https://bitbucket.org/atlassian/django_scim
[1] | http://www.simplecloud.info/, https://tools.ietf.org/html/rfc7644 |