Files
OpenHands/opendevin/server/auth/auth.py
Robert Brennan 9846e24299 Fix logger import (#985)
* fix logger import
* fix mypy version
* make mypy happy (#994)

---------

Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2024-04-10 21:48:40 +02:00

29 lines
807 B
Python

import os
import jwt
from typing import Dict
from opendevin.logger import opendevin_logger as logger
JWT_SECRET = os.getenv('JWT_SECRET', '5ecRe7')
def get_sid_from_token(token: str) -> str:
"""Gets the session id from a JWT token."""
try:
payload = jwt.decode(token, JWT_SECRET, algorithms=['HS256'])
if payload is None:
logger.error('Invalid token')
return ''
return payload['sid']
except Exception as e:
logger.exception('Error decoding token: %s', e)
return ''
def sign_token(payload: Dict[str, object]) -> str:
"""Signs a JWT token."""
# payload = {
# "sid": sid,
# # "exp": datetime.now(timezone.utc) + timedelta(minutes=15),
# }
return jwt.encode(payload, JWT_SECRET, algorithm='HS256')