Basic framework to handle authentication and authorization in any kind of Python application.
Project description
GuardPost
GuardPost provides a basic framework to handle authentication and authorization in any kind of Python application.
pip install guardpost
This library is freely inspired by authorization in ASP.NET Core; although its implementation is extremely different.
Notable differences are:
- GuardPost is abstracted from the code that executes it, so it's not bound to the context of a web framework.
- GuardPost implements both classes for use with synchronous code (not
necessarily I/O bound), and classes using
async/await
syntax (optimized for authentication and authorization rules that involve I/O bound operations such as web requests and communications with databases). - GuardPost leverages Python function decorators for the authorization part, so any function can be wrapped to be executed after handling authorization.
- The code API is simpler.
More documentation and examples
For documentation and examples, refer to the project Wiki.
To see how guardpost
is used in blacksheep
web framework, read the
documentation here:
Both for async/await and synchronous code
GuardPost can be used both with async/await code and with synchronous code, according to use cases and users' preference.
If you have doubts about authentication vs authorization...
Authentication
answers the question: Who is the user who is executing the
action?, or more in general: Who is the user, or what is the service, that is
executing 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. Anyway, the two things are logically separated and GuardPost is designed to keep them separate.
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 guardpost-0.0.6.tar.gz
.
File metadata
- Download URL: guardpost-0.0.6.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3f72162cd75a8d6bf2493017bdbb31888680a15810f8da109e0370e7bddebcf |
|
MD5 | b7b3064eb1c5479dcf0c7763ea84c9e0 |
|
BLAKE2b-256 | 885ac219c3fe8d83fdbba6b56fba321bdfb3055c868aff54c8f7b72fdc7b742f |
File details
Details for the file guardpost-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: guardpost-0.0.6-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 857e84bba0ed13e092ac7d234903878601fd175f15e0c3d657a1cb0684d34845 |
|
MD5 | 89ad532ce448b48acae2e6ba5a65ce1e |
|
BLAKE2b-256 | a97a21facc226479722fb583cb9d8224684db74a663b6cb4f7d35a061fe5ac37 |