Jacobina / api /auth.py
marinarosa's picture
initial commit
be82719
Raw
History Blame Contribute Delete
701 Bytes
"""HF token resolution: signed-in user's OAuth token first, env fallback."""
from __future__ import annotations
import os
import gradio as gr
from huggingface_hub import get_token
# What Gradio 6's mocked local login injects as the access token — useless
# against the Hub, so fall through to the real local credentials instead.
LOCAL_MOCK_TOKEN = "mock-oauth-token-for-local-dev"
def resolve_token(oauth_token: gr.OAuthToken | None) -> str | None:
"""The signed-in user's OAuth token on Spaces; HF_TOKEN / cached login otherwise."""
if oauth_token is not None and oauth_token.token != LOCAL_MOCK_TOKEN:
return oauth_token.token
return os.getenv("HF_TOKEN") or get_token()