Skip to content

A straightforward implementation of OAuth2 authentication for FastAPI.

License

Notifications You must be signed in to change notification settings

ardalan-dsht/fastapi-authentication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fastapi Authentication

This module provides a straightforward implementation of OAuth2 authentication for your FastAPI application, utilizing MongoDB for user authentication and employing tokens for endpoint access.

You may choose to utilize either a .env file as demonstrated in the example or opt for a Docker Compose file, wherein you can specify the environment variables directly within that file.

MONGO_USER_USERNAME=username
MONGO_USER_PASSWORD=password
MONGO_USER_HOST=localhost
MONGO_USER_PORT=27017
MONGO_USER_DBNAME=authentication
MONGO_USER_COLLECTION=users

This is a simple example on how you can use this module.
The current_user arg is the authenticated user schema which is stored in schemas.py .

from fastapi_authentication import User, get_current_active_user


@router.get("/my_endpoint", tags=["MyCustomModule"])
async def my_endpoint(current_user: User = Depends(get_current_active_user)):
    """
    Docstring for OpenAPI documentation ...
    """
    return "This is awesome!"

In order to add users to the database you can use the compass app.
This is how you can generate hashed passwords

from fastapi_authentication import get_password_hash

hashed_password = get_password_hash(plain_text_password)

About

A straightforward implementation of OAuth2 authentication for FastAPI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages