# clearskies-auth-server
Contains the handlers needed to manage an authentication server with clearskies.
## Getting started
```
pip install clear-skies-auth-server
```
Click [here for a detailed usage example](https://github.com/cmancone/clearskies-auth-server-example).
## Overview
This package provides the various pieces needed to manage an authentication server. Specifically, it authenticates users and issues signed JSON Web Tokens (JWTs) for other services to validate. This is intended for use as a stand-alone identity provider (IdP) and so requires a datastore where users (and, if needed, passwords) are validated. Naturally, the datastore is provided via a clearskies model, and thus this can work with a wide variety of backends.
In essence, you get to chose which parts of the auth server you need, provide a bit of configuration, and wrap the handlers up in a standard [clearskies SimpleRouting handler](https://clearskies.info/docs/handlers/simple-routing.html). Naturally, clearskies will auto-generate your OAI3 docs for you.
Keep in mind that this is the backend API endpoints _only_. You'll have to provide your own frontend.
## Handlers
The following handlers are provided by this package to expose the necessary parts of the authorization server:
1. [generate-keys](#generate-keys)
2. [jwks](#jwks)
3. [password_login](#password-login)
4. [password_less_email_request_login](#password-less-email-request-login)
5. [password_less_validate_login](#password-less-validate-login)
Roadmap for 1.0:
* MFA
### JWKS
This handler publishes the JSON Web Key Set (JWKS) that is necessary for JWT consumers to validate JWTs created by the service.
### Password Login
This manages password-based logins.
### Password-less Email Request Login
For a password-less login system, this allows a user to request a login. Note that for minimalist systems, an explicit registration step is no longer required.
### Password-less Validate Login
Validates the login (and possibly completes registration) for a password-less login system.
Raw data
{
"_id": null,
"home_page": "https://github.com/cmancone/clearskies-auth-server",
"name": "clear-skies-auth-server",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Conor Mancone",
"author_email": "cmancone@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/89/1d/49492834df28d5cea9c0aef159c3c2a11d53f65304ada0c3d69cac3ffe6d/clear_skies_auth_server-0.12.11.tar.gz",
"platform": null,
"description": "# clearskies-auth-server\n\nContains the handlers needed to manage an authentication server with clearskies.\n\n## Getting started\n\n```\npip install clear-skies-auth-server\n```\n\nClick [here for a detailed usage example](https://github.com/cmancone/clearskies-auth-server-example).\n\n## Overview\n\nThis package provides the various pieces needed to manage an authentication server. Specifically, it authenticates users and issues signed JSON Web Tokens (JWTs) for other services to validate. This is intended for use as a stand-alone identity provider (IdP) and so requires a datastore where users (and, if needed, passwords) are validated. Naturally, the datastore is provided via a clearskies model, and thus this can work with a wide variety of backends.\n\nIn essence, you get to chose which parts of the auth server you need, provide a bit of configuration, and wrap the handlers up in a standard [clearskies SimpleRouting handler](https://clearskies.info/docs/handlers/simple-routing.html). Naturally, clearskies will auto-generate your OAI3 docs for you.\n\nKeep in mind that this is the backend API endpoints _only_. You'll have to provide your own frontend.\n\n## Handlers\n\nThe following handlers are provided by this package to expose the necessary parts of the authorization server:\n\n 1. [generate-keys](#generate-keys)\n 2. [jwks](#jwks)\n 3. [password_login](#password-login)\n 4. [password_less_email_request_login](#password-less-email-request-login)\n 5. [password_less_validate_login](#password-less-validate-login)\n\nRoadmap for 1.0:\n\n * MFA\n\n### JWKS\n\nThis handler publishes the JSON Web Key Set (JWKS) that is necessary for JWT consumers to validate JWTs created by the service.\n\n### Password Login\n\nThis manages password-based logins.\n\n### Password-less Email Request Login\n\nFor a password-less login system, this allows a user to request a login. Note that for minimalist systems, an explicit registration step is no longer required.\n\n### Password-less Validate Login\n\nValidates the login (and possibly completes registration) for a password-less login system.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "clearskies bindings for managing an authentication server that issues JWTs",
"version": "0.12.11",
"project_urls": {
"Homepage": "https://github.com/cmancone/clearskies-auth-server",
"Repository": "https://github.com/cmancone/clearskies-auth-server"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ac757a16ca0408b9ecb68a238c806ca78219c48a7ec51fec6f1e6454a4d53a6f",
"md5": "4dd6d648caa578c3c7bd9219dd302af0",
"sha256": "418469bed628225ad5a4fa581016f8751f1cc4e1f7889aeba46eaffd81f02beb"
},
"downloads": -1,
"filename": "clear_skies_auth_server-0.12.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4dd6d648caa578c3c7bd9219dd302af0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 39040,
"upload_time": "2024-08-04T17:23:53",
"upload_time_iso_8601": "2024-08-04T17:23:53.560472Z",
"url": "https://files.pythonhosted.org/packages/ac/75/7a16ca0408b9ecb68a238c806ca78219c48a7ec51fec6f1e6454a4d53a6f/clear_skies_auth_server-0.12.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "891d49492834df28d5cea9c0aef159c3c2a11d53f65304ada0c3d69cac3ffe6d",
"md5": "41ae2a73dc0a9e8859544e74bf1de38c",
"sha256": "99dc7adcdd86a752d7455df58b0c061a066ddf0b77308d820b649113f44d16a8"
},
"downloads": -1,
"filename": "clear_skies_auth_server-0.12.11.tar.gz",
"has_sig": false,
"md5_digest": "41ae2a73dc0a9e8859544e74bf1de38c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 24020,
"upload_time": "2024-08-04T17:23:55",
"upload_time_iso_8601": "2024-08-04T17:23:55.446964Z",
"url": "https://files.pythonhosted.org/packages/89/1d/49492834df28d5cea9c0aef159c3c2a11d53f65304ada0c3d69cac3ffe6d/clear_skies_auth_server-0.12.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-04 17:23:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cmancone",
"github_project": "clearskies-auth-server",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "clear-skies-auth-server"
}