{"repo":"Neoteroi/GuardPost","free":true,"listed":false,"github":"https://github.com/Neoteroi/GuardPost","clone":"git clone https://github.com/Neoteroi/GuardPost.git","description":"Classes to handle authentication and authorization for async Python application.","language":"Python","stars":46,"topics":["authentication","authorization","asyncio","strategy","synchronous"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"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 To install with support for JSON Web Tokens (JWTs) validation: Examples For examples, refer to the examples folder. Functions to validate JWTs GuardPost includes functions to validate JSON Web Tokens (JWTs) and handle JSON Web Keys Sets (JWKS). The built-in validator class can retrieve automatically JWKS from identity providers and handle automatically caching and keys rotation. Caching is useful to not incur in useless performance fees (e.g. downloading JWKS at each web request), and keys rotation is important because identity providers can periodically change the keys they use to sign JWTs. To use these features, install to include additional dependencies: The following example shows how to use guardpost to validate tokens: An example value for authority , to validate access tokens issued by Entra ID could be: https://sts.windows.net/YOUR TENANT ID/ . Guar","default_branch":null,"files":null,"tree":[],"storefront":"/r/Neoteroi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Neoteroi/GuardPost/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}