Spaces:
Sleeping
Sleeping
File size: 1,365 Bytes
4bcc24f 17aa58a |
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 31 32 33 34 35 36 37 38 39 40 41 42 |
from pydantic_settings import BaseSettings
from dotenv import load_dotenv
from supabase import create_client
from functools import lru_cache
import os
from google.colab import userdata
load_dotenv()
@lru_cache(maxsize=1)
class Supabase_Settings(BaseSettings):
# keys: BaseSettings = Keys()
SUPABASE_URL: str = userdata.get("SUPABASE_URL")
SUPABASE_ANON_KEY: str = userdata.get("SUPABASE_ANON_KEY")
SUPABASE_SERVICE_KEY: str = userdata.get("SUPABASE_SERVICE_KEY")
@lru_cache(maxsize=1)
class Supabase_Clients:
values = Supabase_Settings()
anon_supabase = create_client(values.SUPABASE_URL, values.SUPABASE_ANON_KEY)
service_supabase = create_client(values.SUPABASE_URL, values.SUPABASE_SERVICE_KEY)
def AuthUser_Validator(apitoken: str):
supabase_clients = Supabase_Clients()
settings = Supabase_Settings()
supabase = supabase_clients.anon_supabase
try:
user = supabase.auth.get_user(apitoken)
print(user.user.id)
return str(user.user.id)
except Exception as e:
print("Exceptional error")
if apitoken == settings.SUPABASE_ANON_KEY:
return "Exceptional error"
raise HTTPException(
status_code=401,
detail=f"invalid Api Token: unable to parse or verify signature, signing method (alg) is unavailable.",
) |