mirror of
https://github.com/All-Hands-AI/OpenHands.git
synced 2026-04-29 03:00:45 -04:00
* fix logger import * fix mypy version * make mypy happy (#994) --------- Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
29 lines
807 B
Python
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')
|