Skip to main content

Kisee — Identity Provider Server

Documentation Status Package on PyPI Build status

Name

The name "Kisee", inspired from "KISS" ("Keep it simple, stupid.") is spoken as the french phrase "Qui c'est ?", [kis‿ɛ].

Overview

Kisee is an API giving JWTs in exchange for valid usernames/password pairs. That's it.

Kisee is better used as a backend of the Pasee identity manager: Pasee handle groups and can handle multiple identity backends (one or many Kisee instances, twitter, facebook, ...).

Kisee can use your existing database (or use a dedicated one) to query the username and passwrds if you're willing to implement a simple Python class to query it, so Kisee can query anything: LDAP, a flat file, a PostgreSQL database with a strange schema, whatever.

Quick start

$ pip install kisee
$ kisee --settings example-settings.toml

This starts Kisee with an in-memory demo backend, just so you can play. The demo backend will print the admin credentials at startup:

$ kisee --settings example-settings.toml

Admin credentials for this session is:
username: root
password: UGINenIU

======== Running on http://0.0.0.0:8140 ========
(Press CTRL+C to quit)

So we can start by getting a JWT for the admin user (beware, your password is different):

$ curl 0:8140/jwt/ -XPOST -d '{"username": "root", "password": "UGINenIU"}'
{
    "_type": "document",
    "_meta": {
        "url": "/jwt/",
        "title": "JSON Web Tokens"
    },
    "tokens": [
        "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJleGFtcGxlLmNvbSIsInN1YiI6IkpvaG4iLCJleHAiOjE1NTMyNzQyNjEsImp0aSI6IjlXb0piV1g2OGpmQVo5N1dNRWRjNDQifQ.iYAgA-018VHQo9tWLfk7XIxtrDKYk_CTWhHXo7bMBGDz9HGKRIwV_mh0Wla6tf6z-_JH5KRTQRnQl5DLLlIelg"
    ],
    "add_token": {
        "_type": "link",
        "action": "post",
        "title": "Create a new JWT",
        "description": "POSTing to this endpoint create JWT tokens.",
        "fields": [
            {
                "name": "username",
                "required": true
            },
            {
                "name": "password",
                "required": true
            }
        ]
    }
}

It's possible for a new user to "self-register" by posting on /users/:

$ curl -i 0:8140/users/ -XPOST -d '{"username": "JohnDoe", "password": "sdfswlwl", "email": "john@example.com"}'
HTTP/1.1 201 Created
Location: /users/JohnDoe/

Read the docs: https://kisee.readthedocs.io

Metadata

Release files for kisee 21.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kisee 21.9.0
File Size Uploaded
kisee-21.9.0.tar.gz 16.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kisee 21.9.0
File Interpreter ABI Platform
kisee-21.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.1 kB

Release files / kisee-21.9.0.tar.gz

Download URL kisee-21.9.0.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
16cc4d40ac9477bffa56e040b1cbffea019061dbd9b721f2749df3e6eff36c11
BLAKE2b-256 checksum
How to use checksums
606148f2739579cca611d470150615cd85b209a6e8733d95b5d38bf1ed6829d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.13

Release files / kisee-21.9.0-py3-none-any.whl

Download URL kisee-21.9.0-py3-none-any.whl
Size 20.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e0cccf486b095131a6f466f477d0e110b5fe16db6c3111262137d24fb92b348
BLAKE2b-256 checksum
How to use checksums
decf1e57cf108eed6159b203f4aa5c78eadf4321a0bb63fc7eab1a6c6b3c0d4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.13

Release history Release notifications | RSS feed

This release

21.9.0 This release

2 release files

20.2.0

2 release files

19.7.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page