odoo-modules/odoo-bringout-eurooffice-eurooffice_odoo/eurooffice_odoo/utils/jwt_utils.py
Ernad Husremovic b59a9dc6bb init: Euro-Office Odoo 16.0 modules
Based on onlyoffice_odoo by Ascensio System SIA (ONLYOFFICE, LGPL-3).
Rebranded and adapted for Euro-Office by bring.out d.o.o.

Modules:
- eurooffice_odoo: base integration
- eurooffice_odoo_templates: document templates
- eurooffice_odoo_oca_dms: OCA DMS integration (replaces Enterprise documents)

All references renamed: onlyoffice -> eurooffice, ONLYOFFICE -> Euro-Office.
Original copyright notices preserved.
2026-03-31 17:24:17 +02:00

29 lines
734 B
Python

#
# (c) Copyright Ascensio System SIA 2024
#
import datetime
import jwt
from odoo.addons.eurooffice_odoo.utils import config_utils
def is_jwt_enabled(env):
return bool(config_utils.get_jwt_secret(env))
def encode_payload(env, payload, secret=None):
if secret is None:
secret = config_utils.get_jwt_secret(env)
now = datetime.datetime.utcnow()
exp = now + datetime.timedelta(hours=24)
payload["iat"] = int(now.timestamp())
payload["exp"] = int(exp.timestamp())
return jwt.encode(payload, secret, algorithm="HS256")
def decode_token(env, token, secret=None):
if secret is None:
secret = config_utils.get_jwt_secret(env)
return jwt.decode(token, secret, algorithms=["HS256"])