Skip to main content

HTTP server managing identities

Project description

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

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

kisee-21.7.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

kisee-21.7.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file kisee-21.7.0.tar.gz.

File metadata

  • Download URL: kisee-21.7.0.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4

File hashes

Hashes for kisee-21.7.0.tar.gz
Algorithm Hash digest
SHA256 4ec3eeee766e1fc809db2cad3a30de5d0f1adcb5374b066bb0cc1c2dbcb2c9ca
MD5 0904109797c77d03cf30de0dee060c94
BLAKE2b-256 4b941d87c115806f6cd01d924fd7ec2a56a78435791bbe96f1ad734ee3c88a5e

See more details on using hashes here.

File details

Details for the file kisee-21.7.0-py3-none-any.whl.

File metadata

  • Download URL: kisee-21.7.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4

File hashes

Hashes for kisee-21.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5659227ea88a5b1a635b7dea8e409abf2143ea7a17535c733c4b129a05e36ab0
MD5 8428ff2459a37875f11a1b796f523f71
BLAKE2b-256 ad81b77655a5ccf6e7a61b9baa33d87caaa237e5aff86f255409b1358d637adf

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