django-scim2
============
|tests| |coverage| |docs|
This is a provider-side implementation of the SCIM 2.0 [1]_
specification for use in Django.
Note that currently the only supported database is Postgres.
Installation
------------
Install with pip::
$ pip install django-scim2
Then add the ``django_scim`` app to ``INSTALLED_APPS`` in your Django's settings::
INSTALLED_APPS = (
...
'django_scim',
)
By default, ``request.user.is_anonymous()`` is checked to determine if the SCIM
request should be allowed or denied.
If you have specific authentication needs, look into overriding the default "is
authenticated predicate" (i.e. see ``GET_IS_AUTHENTICATED_PREDICATE`` for
details) or subclassing the middleware that performs the check
(``AUTH_CHECK_MIDDLEWARE``).
Add the necessary url patterns to your root urls.py file. Please note that the
namespace is mandatory and must be named `scim`::
urlpatterns = [
...
path('scim/v2/', include('django_scim.urls')),
]
Finally, add settings appropriate for you app to your settings.py file::
SCIM_SERVICE_PROVIDER = {
'NETLOC': 'localhost',
'AUTHENTICATION_SCHEMES': [
{
'type': 'oauth2',
'name': 'OAuth 2',
'description': 'Oauth 2 implemented with bearer token',
},
],
}
Other SCIM settings can be provided but those listed above are required.
PyPI
----
https://pypi.python.org/pypi/django-scim2
Source
------
https://github.com/15five/django-scim2
Documentation
-------------
.. |docs| image:: https://readthedocs.org/projects/django-scim2/badge/
:target: https://django-scim2.readthedocs.io/
:alt: Documentation Status
https://django-scim2.readthedocs.io/
Development
-----------
This project uses Poetry to manage dependencies, etc. Thus to install the
necessary tools when developing, run:
```
poetry install
```
Tests
-----
.. |tests| image:: https://github.com/15five/django-scim2/workflows/CI%2FCD/badge.svg
:target: https://github.com/15five/django-scim2/actions
https://github.com/15five/django-scim2/actions
Tests are typically run locally with `tox` (https://tox.wiki/). Tox will test
all supported versions of Python and Django.
```
tox
```
To run the test suite with a single version of Python (the version you created
the virtualenv with), run:
```
poetry run pytest tests/
```
Coverage
--------
.. |coverage| image:: https://codecov.io/gh/15five/django-scim2/graph/badge.svg
:target: https://codecov.io/gh/15five/django-scim2
https://codecov.io/gh/15five/django-scim2/
```
tox -e coverage
```
License
-------
This library is released under the terms of the **MIT license**. Full details in ``LICENSE.txt`` file.
Extensibility
-------------
This library was forked and developed to be highly extensible. A number of
adapters can be defined to control what different endpoints do to your resources.
Please see the documentation for more details.
PLEASE NOTE: This app does not implement authorization and authentication.
Such tasks are left for other apps such as `Django OAuth Toolkit`_ to implement.
.. _`Django OAuth Toolkit`: https://github.com/evonove/django-oauth-toolkit
Development Speed
-----------------
Since this project is relatively stable, time is only dedicated to it on
Fridays. Thus if you issue a PR, bug, etc, please note that it may take a week
before we get back to you. Thanks you for your patience.
Credits
-------
This project was forked from https://bitbucket.org/atlassian/django_scim
.. [1] http://www.simplecloud.info/, https://tools.ietf.org/html/rfc7644
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/django-scim2/",
"name": "django-scim2",
"maintainer": "Devs",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "devs@15five.com",
"keywords": "django,scim,scim2,2.0",
"author": "Paul Logston",
"author_email": "paul@15five.com",
"download_url": "https://files.pythonhosted.org/packages/07/59/da3061607de7be41d7e5bf484acb13510d631f8fcfcecd9f5e02dc5bf4f1/django_scim2-0.19.1.tar.gz",
"platform": null,
"description": "django-scim2\n============\n\n|tests| |coverage| |docs|\n\nThis is a provider-side implementation of the SCIM 2.0 [1]_\nspecification for use in Django.\n\nNote that currently the only supported database is Postgres.\n\n\nInstallation\n------------\n\nInstall with pip::\n\n$ pip install django-scim2\n\nThen add the ``django_scim`` app to ``INSTALLED_APPS`` in your Django's settings::\n\n INSTALLED_APPS = (\n ...\n 'django_scim',\n )\n\nBy default, ``request.user.is_anonymous()`` is checked to determine if the SCIM\nrequest should be allowed or denied.\n\nIf you have specific authentication needs, look into overriding the default \"is\nauthenticated predicate\" (i.e. see ``GET_IS_AUTHENTICATED_PREDICATE`` for\ndetails) or subclassing the middleware that performs the check\n(``AUTH_CHECK_MIDDLEWARE``).\n\nAdd the necessary url patterns to your root urls.py file. Please note that the\nnamespace is mandatory and must be named `scim`::\n\n urlpatterns = [\n ...\n path('scim/v2/', include('django_scim.urls')),\n ]\n\nFinally, add settings appropriate for you app to your settings.py file::\n\n SCIM_SERVICE_PROVIDER = {\n 'NETLOC': 'localhost',\n 'AUTHENTICATION_SCHEMES': [\n {\n 'type': 'oauth2',\n 'name': 'OAuth 2',\n 'description': 'Oauth 2 implemented with bearer token',\n },\n ],\n }\n\nOther SCIM settings can be provided but those listed above are required.\n\nPyPI\n----\n\nhttps://pypi.python.org/pypi/django-scim2\n\nSource\n------\n\nhttps://github.com/15five/django-scim2\n\nDocumentation\n-------------\n\n.. |docs| image:: https://readthedocs.org/projects/django-scim2/badge/\n :target: https://django-scim2.readthedocs.io/\n :alt: Documentation Status\n\nhttps://django-scim2.readthedocs.io/\n\nDevelopment\n-----------\n\nThis project uses Poetry to manage dependencies, etc. Thus to install the\nnecessary tools when developing, run:\n\n```\npoetry install\n```\n\nTests\n-----\n\n.. |tests| image:: https://github.com/15five/django-scim2/workflows/CI%2FCD/badge.svg\n :target: https://github.com/15five/django-scim2/actions\n\nhttps://github.com/15five/django-scim2/actions\n\nTests are typically run locally with `tox` (https://tox.wiki/). Tox will test\nall supported versions of Python and Django.\n\n```\ntox\n```\n\nTo run the test suite with a single version of Python (the version you created\nthe virtualenv with), run:\n\n\n```\npoetry run pytest tests/\n```\n\n\nCoverage\n--------\n\n.. |coverage| image:: https://codecov.io/gh/15five/django-scim2/graph/badge.svg\n :target: https://codecov.io/gh/15five/django-scim2\n\nhttps://codecov.io/gh/15five/django-scim2/\n\n```\ntox -e coverage\n```\n\nLicense\n-------\n\nThis library is released under the terms of the **MIT license**. Full details in ``LICENSE.txt`` file.\n\n\nExtensibility\n-------------\n\nThis library was forked and developed to be highly extensible. A number of\nadapters can be defined to control what different endpoints do to your resources.\nPlease see the documentation for more details.\n\nPLEASE NOTE: This app does not implement authorization and authentication.\nSuch tasks are left for other apps such as `Django OAuth Toolkit`_ to implement.\n\n.. _`Django OAuth Toolkit`: https://github.com/evonove/django-oauth-toolkit\n\nDevelopment Speed\n-----------------\n\nSince this project is relatively stable, time is only dedicated to it on\nFridays. Thus if you issue a PR, bug, etc, please note that it may take a week\nbefore we get back to you. Thanks you for your patience.\n\nCredits\n-------\n\nThis project was forked from https://bitbucket.org/atlassian/django_scim\n\n\n.. [1] http://www.simplecloud.info/, https://tools.ietf.org/html/rfc7644\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A partial implementation of the SCIM 2.0 provider specification for use with Django.",
"version": "0.19.1",
"project_urls": {
"Documentation": "https://django-scim2.readthedocs.io/en/stable/",
"Homepage": "https://pypi.org/project/django-scim2/",
"Repository": "https://github.com/15five/django-scim2"
},
"split_keywords": [
"django",
"scim",
"scim2",
"2.0"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a324ca2cab008049239585434f7451a42757d7d258bf741316fd16587e564b74",
"md5": "dabdf21663b8e520628407dac9721d1d",
"sha256": "845eaa64e72e4ddfe2aa54d21865721f8c1d59ecd9c06e72341eeb03ed6ba94e"
},
"downloads": -1,
"filename": "django_scim2-0.19.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dabdf21663b8e520628407dac9721d1d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 32072,
"upload_time": "2023-05-18T01:13:01",
"upload_time_iso_8601": "2023-05-18T01:13:01.751695Z",
"url": "https://files.pythonhosted.org/packages/a3/24/ca2cab008049239585434f7451a42757d7d258bf741316fd16587e564b74/django_scim2-0.19.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0759da3061607de7be41d7e5bf484acb13510d631f8fcfcecd9f5e02dc5bf4f1",
"md5": "94cb0b3ea547c93e5b54ea1d7e7f2e93",
"sha256": "8126111160e76a880f6699babc5259f0345c9316c8018ce5dcc3f7579ccb9e89"
},
"downloads": -1,
"filename": "django_scim2-0.19.1.tar.gz",
"has_sig": false,
"md5_digest": "94cb0b3ea547c93e5b54ea1d7e7f2e93",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 26988,
"upload_time": "2023-05-18T01:13:04",
"upload_time_iso_8601": "2023-05-18T01:13:04.017933Z",
"url": "https://files.pythonhosted.org/packages/07/59/da3061607de7be41d7e5bf484acb13510d631f8fcfcecd9f5e02dc5bf4f1/django_scim2-0.19.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-18 01:13:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "15five",
"github_project": "django-scim2",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "django-scim2"
}