Spaces:
Runtime error
Runtime error
| """Signed bearer tokens when session cookies are not stored (e.g. some HF Space proxies).""" | |
| from itsdangerous import BadSignature, SignatureExpired, URLSafeTimedSerializer | |
| from web.backend.config import get_session_secret | |
| _MAX_AGE = 14 * 24 * 3600 | |
| def create_auth_token() -> str: | |
| s = URLSafeTimedSerializer(get_session_secret()) | |
| return s.dumps({"web_auth": True, "v": 1}) | |
| def verify_auth_token(token: str) -> bool: | |
| try: | |
| s = URLSafeTimedSerializer(get_session_secret()) | |
| data = s.loads(token, max_age=_MAX_AGE) | |
| return ( | |
| isinstance(data, dict) | |
| and data.get("v") == 1 | |
| and data.get("web_auth") is True | |
| ) | |
| except (BadSignature, SignatureExpired): | |
| return False | |