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.4.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: kisee-21.4.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.3

File hashes

Hashes for kisee-21.4.0.tar.gz
Algorithm Hash digest
SHA256 94b48539be11f4ad984ec3e5c7d23373db949ffa50b121054e5b632fe7e67059
MD5 8d29e24b221321e96d450bf1ec4c5147
BLAKE2b-256 7e8e42272fe465c6f43ff58f9011b0320fa2dc1696986cec8dae3eea79e8bd38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kisee-21.4.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/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.3

File hashes

Hashes for kisee-21.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a2fef741ce16f9f8bea8ef04a0778c0cc2f525675f0af2fa2706fe45b2c7ab2b
MD5 74121f89e178cb2974ad17b43b7504e4
BLAKE2b-256 a4c4cd7eda135d61ce5bd378d04a1828bae610bc9ede020692ad8eaaec50893b

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