Skip to main content

A partial implementation of the SCIM 2.0 provider specification for use with Django.

Project description

tests coverage Documentation Status

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

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

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

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.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_scim2-0.19.0.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_scim2-0.19.0-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file django_scim2-0.19.0.tar.gz.

File metadata

  • Download URL: django_scim2-0.19.0.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.1 Darwin/22.3.0

File hashes

Hashes for django_scim2-0.19.0.tar.gz
Algorithm Hash digest
SHA256 531e8ae3d7dadb225e1b5addaa8c685f307de7eda5f23796ad0f4c7a96e06479
MD5 6503c8e6ed9f56b24cdc429317452eb7
BLAKE2b-256 17602abaaa8bd46276d05630477f10960790dcd86c5ce63372ec8ce134401df6

See more details on using hashes here.

File details

Details for the file django_scim2-0.19.0-py3-none-any.whl.

File metadata

  • Download URL: django_scim2-0.19.0-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.1 Darwin/22.3.0

File hashes

Hashes for django_scim2-0.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0571c9798e3af1a199bc05d6726185675bdd960627c3f4406a0c125e3e12e025
MD5 99d27b88f5a75b4fa2c6ece24780b64a
BLAKE2b-256 b91ebfed9fe77bdb941b541f9ee61d5f24b6d8bfc61ed7e10ff2cba3fffe326c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page