aboutsummaryrefslogtreecommitdiff
path: root/api/auth/login_token.py
blob: de770b3925ff92cf69cb107dd864ff7aa1764969 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from flask import Blueprint, request
from db import cursor
from auth.token import validate_token, hash_token


# get user_id from authentication token
def token_login(token):
    hashed = hash_token({"token": token, "expirationDate": 0})
    user_id = cursor.execute(
        "select user_id from users where valid_tokens like ?",
        [f"%{hashed['token']}%"]
    ).fetchone()
    return None if not user_id else user_id[0]


token = Blueprint('token', __name__)


# this endpoint is currently unused, but verifies that a token is valid
@token.route('/token', methods=['POST'])
def index():
    data = request.get_json()

    auth_token = data.get("token") or ""
    if not auth_token: return "", 400

    return "", 200 if token_login(auth_token) else 401


dynamic_route = ["/auth", token]