HTTP server managing identities
Project description
Kisee — Identity Provider Server
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94b48539be11f4ad984ec3e5c7d23373db949ffa50b121054e5b632fe7e67059 |
|
MD5 | 8d29e24b221321e96d450bf1ec4c5147 |
|
BLAKE2b-256 | 7e8e42272fe465c6f43ff58f9011b0320fa2dc1696986cec8dae3eea79e8bd38 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2fef741ce16f9f8bea8ef04a0778c0cc2f525675f0af2fa2706fe45b2c7ab2b |
|
MD5 | 74121f89e178cb2974ad17b43b7504e4 |
|
BLAKE2b-256 | a4c4cd7eda135d61ce5bd378d04a1828bae610bc9ede020692ad8eaaec50893b |