directory-sso-api-client

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