API key validation Middleware
Project description
FastAPI-key-auth
Secure your FastAPI endpoints using API keys.
Report Bug
·
Request Feature
Table of Contents
About The Project
On deployment inject API keys authorized to use your service. Every call to a private
endpoint of your service has to include a header['x-api-key']
attribute that is
validated against the API keys in your environment.
If it is present, a request is authorized. If it is not FastAPI return 401 Unauthorized
.
Use this either as a middleware, or as Dependency.
Built With
Getting Started
Installation
- Clone and install
git clone https://github.com/iwpnd/fastapi-key-auth.git poetry install
- Install with pip
pip install fastapi-key-auth
- Install with poetry
poetry add fastapi-key-auth
Usage
As Middleware:
from fastapi import FastAPI
from fastapi_key_auth import AuthorizerMiddleware
app = FastAPI()
app.add_middleware(AuthorizerMiddleware, public_paths=["/ping"], key_pattern="API_KEY_")
# optional use regex startswith
app.add_middleware(AuthorizerMiddleware, public_paths=["/ping", "^/users"])
As Dependency
from fastapi import FastAPI, Depends
from fastapi_key_auth import AuthorizerDependency
authorizer = AuthorizerDependency(key_pattern="API_KEY_")
# either globally or in a router
app = FastAPI(dependencies=[Depends(authorizer)])
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Benjamin Ramser - @imwithpanda - ahoi@iwpnd.pw
Project Link: https://github.com/iwpnd/fastapi-key-auth
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 fastapi_key_auth-0.15.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31edc815d2c5beca53e987c1eeb1db9e064ccaac9e639451146c8bcde36bce16 |
|
MD5 | 4bf0cb2aa8bcb4f47ac6791a6ebb4b33 |
|
BLAKE2b-256 | 361ac7a4eec440e13a651b26de7270c9ffc48173f35b1eae4320c6743dddfe05 |