Skip to content

Managers

PasswordsManager

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import fastapi_mongodb

passwords_manager = fastapi_mongodb.PasswordsManager(
    algorithm=fastapi_mongodb.PASSWORD_ALGORITHMS.SHA512, iterations=524288
)

raw_password = "SUPER SECURE PASSWORD!"
password_hash = passwords_manager.make_password(password=raw_password)
if passwords_manager.check_password(
    password=raw_password, password_hash=password_hash
):
    print("""ALLOW ACCESS!""")
else:
    print("""ACCESS DENIED!""")

PASSWORD_ALGORITHMS

1
2
3
4
class PASSWORD_ALGORITHMS(str, enum.Enum):
    SHA256 = "sha256"
    SHA384 = "sha384"
    SHA512 = "sha512"

TokensManager

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import datetime

import fastapi_mongodb

SECRET_KEY = "SUPER SECURE TOKEN FROM ENVIRONMENT VARIABLES!!!"

tokens_manager = fastapi_mongodb.TokensManager(
    secret_key=SECRET_KEY,
    algorithm=fastapi_mongodb.TOKEN_ALGORITHMS.HS256,
    default_token_lifetime=datetime.timedelta(minutes=30),
)

token_data = {
    "anyKey": "Not Secure",
    "anotherKey": "All data available to Front-end and JWT clients!!!",
}

jwt_token = tokens_manager.create_code(
    data=token_data, aud="test_audience", iss="test_issuer"
)

parsed_token = tokens_manager.read_code(
    code=jwt_token, aud="test_audience", iss="test_issuer"
)

TOKENS_ALGORITHMS

1
2
3
4
class TOKEN_ALGORITHMS(str, enum.Enum):
    HS256 = "HS256"
    HS384 = "HS384"
    HS512 = "HS512"
Back to top