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

Uploaded Source

Built Distribution

kisee-20.2.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kisee-20.2.0.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0

File hashes

Hashes for kisee-20.2.0.tar.gz
Algorithm Hash digest
SHA256 bd67547fc810b2cfc8f3e4050481d2a464f400399df613eebc75a2d1b7bf3035
MD5 1eb94ca49f90c590f0f16d36f8857660
BLAKE2b-256 d9cd47039ca037163c95a204e8aa3c0edaa4f5c2e8ebf83f12a0dedceffdb6e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kisee-20.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.4 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0

File hashes

Hashes for kisee-20.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a68b9c87be3d40d7fccb3b6b7c64450fbcab7f2ee5e02829be2c535495fe1918
MD5 f56361fe823e015f8e0c9e64f3763a20
BLAKE2b-256 f53b77975a66599b280668de37b6b0bcebd613c9a812de48b598612ade1ccc47

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