RishiTest / authenticator.py
Lemorra's picture
InternVL3-1B model app
ba9f758
raw
history blame contribute delete
687 Bytes
from fastapi import Header, HTTPException
import os
import jwt
from dotenv import load_dotenv
load_dotenv()
secret_token = os.getenv("AUTH_TOKEN")
async def authenticate_token(authorization: str = Header(...)):
token_type, token = authorization.split()
if token_type != "Bearer":
raise HTTPException(status_code=401, detail="Unauthorized")
try:
return jwt.decode(token, secret_token, algorithms=["HS256"])
except jwt.ExpiredSignatureError:
raise HTTPException(status_code=401, detail="Token has expired") from None
except (jwt.InvalidTokenError, IndexError):
raise HTTPException(status_code=401, detail="Invalid token") from None