This is a re-implementation of the Perl script cern-get-sso-cookie. as a Python library. As a bonus, a shell client re-implementing (most of) the functionality of cern-get-sso-cookie, is also provided.
Prerequisites
This package assumes a working Kerberos and OpenSSL setup, but should be compatible with both python 2.7 and 3.
Usage
The module provides only two functions: krb_sign_on and cert_sign_on, used for authentication with Kerberos and certificates respectively. Both take an optional cookiejar (which can be a Requests CookieJar, or a MozillaCookieJar) which is filled during operations. In any event, a cookie jar is also returned by both functions.
The returned cookie jar can be used directly as an argument to Requests’ cookies
import cern_sso
import requests
my_url = "https://my-secret-place.cern.ch"
cookies = cern_sso.krb_sign_on(my_url)
# Perform request
r1 = requests.get(my_url, cookies=cookies)
It is assumed that the user running the program is already authenticated against Kerberos.
This is what the same procedure would look like using SSL certificates:
import cern_sso
import requests
my_url = "https://my-secret-place.cern.ch"
cert_file = "/home/albin/myCert.pem"
key_file = "/home/albin/myCert.key"
cookies = cern_sso.cert_sign_on(my_url, cert_file=cert_file,
key_file=key_file)
# Perform request
r1 = requests.get(my_url, cookies=cookies)
Certain limitations apply to the certificate and key files, please see the following section on command-line usage for further information on this.
For an example of how to use an external CookieJar, see bin/cern-get-sso-cookie.py.
Metadata
Release files for python-cern-sso 1.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| python-cern-sso-1.3.3.tar.gz | 6.7 kB | Details |
Release files / python-cern-sso-1.3.3.tar.gz
| Download URL | python-cern-sso-1.3.3.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d367445cbcb9af362347530321f2a54430a04b3cd994ca822b19f3a2828991b3
|
|
BLAKE2b-256 checksum How to use checksums |
0c11a975214e808bd7ce365e7c5ec591a9161c3b5487c544a012f568b4b5a480
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
|