Skip to main content

Python API client for Export Directory.

Project description

directory-sso-api-client

code-climate-image circle-ci-image codecov-image pypi-image semver-image

Directory SSO API client


Installation

    $ pip install directory-sso-api-client

The api client expects the following settings:

Setting Notes
DIRECTORY_SSO_API_CLIENT_BASE_URL
DIRECTORY_SSO_API_CLIENT_API_KEY Unique to client. Retrieved during the on-boarding process.
DIRECTORY_SSO_API_CLIENT_SENDER_ID Unique to client. Retrieved during the on-boarding process.
DIRECTORY_SSO_API_CLIENT_DEFAULT_TIMEOUT

Once that is done the API client can be used:

from directory_sso_api_client.client import sso_api_client

Authentication backend

Add the following to your settings

AUTHENTICATION_BACKENDS = ['directory_sso_api_client.backends.SSOUserBackend']

AUTH_USER_MODEL='directory_sso_api_client.SSOUser',

MIDDLEWARE_CLASSES = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    ...

That will result in the user being authenticate via their sso session cookie and then attached to request.user.

Development

$ git clone https://github.com/uktrade/directory-sso-api-client
$ cd directory-sso-api-client
$ [create virtual environment and activate]
$ pip install -r requirements_test.txt

Publish to PyPI

The package should be published to PyPI on merge to master. If you need to do it locally then get the credentials from rattic and add the environment variables to your host machine:

Setting
DIRECTORY_PYPI_USERNAME
DIRECTORY_PYPI_PASSWORD

Then run the following command:

    make publish

Project details


Download files

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

Files for directory-sso-api-client, version 6.2.0
Filename, size File type Python version Upload date Hashes
Filename, size directory_sso_api_client-6.2.0-py3-none-any.whl (7.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page