Skip to main content

Kerberos authentication backend for Python Social Auth

Project description

https://github.com/kiwitcms/python-social-auth-kerberos/workflows/integration%20test/badge.svg https://coveralls.io/repos/github/kiwitcms/python-social-auth-kerberos/badge.svg?branch=master Tidelift Become a sponsor Kiwi TCMS on Twitter

This package provides Kerberos backend for Python Social Auth. It can be used to enable passwordless authentication inside a Django app or any other application that supports Python Social Auth. This is a pure Python implementation which doesn’t depend on Apache mod_auth_kerb.

Installation

To install:

pip install social-auth-kerberos

Configuration

Configure Python Social Auth and then make sure you have the following settings enabled:

AUTHENTICATION_BACKENDS = [
    'social_auth_kerberos.backend.KerberosAuth',
    'django.contrib.auth.backends.ModelBackend',
]

SOCIAL_AUTH_KRB5_KEYTAB = '/Kiwi/your-application.keytab'

IMPORTANT:

The principal name for your Kiwi TCMS web service must be HTTP/<fqdn.example.com>@REALM.EXAMPLE.COM where fqdn.example.com is the domain name of the Kiwi TCMS server and REALM.EXAMPLE.COM is the Kerberos realm that is used in your organization.

/Kiwi/your-application.keytab is the keytab file for your web app principal! If you install this inside a Docker container make sure to chown 1001:root!

Pipeline configuration

Python Social Auth, and by extension this plugin, will create new user accounts upon first access of the web interface. In Kiwi TCMS users need to either be in the special group Tester or have sufficient permissions to add/edit/delete objects.

You can automatically assign new accounts to the Tester group if you append social_auth_kerberos.pipeline.initiate_defaults to the end of the SOCIAL_AUTH_PIPELINE setting.

WARNING: this is not done for you automatically because some administrators may want to employ different behaviour for newly registered accounts!

Kerberos configuration

For more information about Kerberos see:

or check out tests/Dockerfile.kerberos.

Changelog

v0.2.4 (24 Mar 2020)

  • Add social_auth_kerberos.pipeline with function to initialize default permissions for newly created accounts. See section Pipeline configuration

  • Update README with more information how to configure this plugin

  • Enable integration testing with Kerberos and coverage collection

v0.2.3 (22 Mar 2020)

  • Keep a reference to current user before checking anything else. Resolves a crash for clients which know that the server is Kerberos enabled and directly send the Authorization header

  • Be more tolerant to authorization request headers which don’t match RFC-4459, section 4.2

v0.2.2 (10 Nov 2019)

  • Pin license version to GPLv2 for Tidelift

v0.2.1 (10 Dec 2018)

  • Initial release

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

social-auth-kerberos-0.2.4.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

social_auth_kerberos-0.2.4-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file social-auth-kerberos-0.2.4.tar.gz.

File metadata

  • Download URL: social-auth-kerberos-0.2.4.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for social-auth-kerberos-0.2.4.tar.gz
Algorithm Hash digest
SHA256 223714a076f0ef2861826842f09498ee17516bb1b528afc0321861433398bcf5
MD5 b8a5a4fd5747e7b5e7b165ed98e81bfe
BLAKE2b-256 0eddb437f48cbc1fcf62091559d25c080e49f958267ee534c32a211cf0966dc3

See more details on using hashes here.

File details

Details for the file social_auth_kerberos-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: social_auth_kerberos-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for social_auth_kerberos-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f213c82942d1861844cef9658072de1c326ed400e424face267d109936d02ea0
MD5 f5cb4ef8a34ffec7acd07ba897e4b35c
BLAKE2b-256 4644bd131d564075bf81a76955e497354a6e2f3513e11b044667418894973224

See more details on using hashes here.

Supported by

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