Framework to handle authentication and authorization.
Project description
Authentication and authorization framework for Python apps
Basic framework to handle authentication and authorization in asynchronous Python applications.
Features:
- strategy to implement authentication (who or what is using a service?)
- strategy to implement authorization (is the acting identity authorized to do a certain action?)
- support for dependency injection for classes handling authentication and authorization requirements
- built-in support for JSON Web Tokens (JWTs) authentication
This library is freely inspired by authorization in ASP.NET Core; although its implementation is extremely different.
Installation
pip install neoteroi-auth
To install with support for JSON Web Tokens (JWTs)
validation:
pip install neoteroi-auth[jwt]
Examples
For examples, refer to the examples folder.
If you have doubts about authentication vs authorization...
Authentication
answers the question: Who is the user who is initiating the
action?, or more in general: Who is the user, or what is the service, that is
initiating the action?.
Authorization
answers the question: Is the user, or service, authorized to
do something?.
Usually, to implement authorization, is necessary to have the context of the entity that is executing the action.
Usage in BlackSheep
neoteroi-auth
is used in the second version of the
BlackSheep web framework, to implement
authentication and authorization
strategies for request
handlers.
To see how neoteroi-auth
is used in blacksheep
web framework, read:
Documentation
Under construction. 🚧
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
Hashes for neoteroi_auth-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4970c67d21580480e86d14656bf0e408d2bde8214a5db21249620a04252c9bdb |
|
MD5 | eefcb49940ce0f675f4d59a4fc1ce3f5 |
|
BLAKE2b-256 | e3a71eae7b2f1113ec8ff6a9b3e864cc8f2cde62645e706c07a8595645f4982c |