30 lines
594 B
Python
30 lines
594 B
Python
import csv
|
|
import jwt
|
|
import time
|
|
|
|
from db import MedodsAPI
|
|
|
|
|
|
def load_api_key(csv_path="apiKey.csv"):
|
|
with open(csv_path, newline="", encoding="utf-8") as f:
|
|
reader = csv.DictReader(f)
|
|
return next(reader)
|
|
|
|
|
|
def generate_token():
|
|
medodsDB = MedodsAPI.query.first()
|
|
if not medodsDB:
|
|
return None
|
|
|
|
identity = medodsDB.identity
|
|
secret = medodsDB.secretKey
|
|
|
|
iat = int(time.time())
|
|
exp = iat + 60 # <= 64 сек
|
|
|
|
payload = {"iss": identity, "iat": iat, "exp": exp}
|
|
|
|
token = jwt.encode(payload, secret, algorithm="HS512")
|
|
|
|
return token
|