import fire import json import time import hashlib import requests """ python yogo_jwt_generator.py 要传的enterprise_user_id 要传的enterprise_building_ids""" prod_jwt = { "765": "rHoutZccIhyvpMXF9dkRZBycjw+Hlk3yvPO3iJlQomE=" } def _sign(params: dict, enterprise_secret: str) -> str: keys = sorted(params.keys()) sign_str = enterprise_secret for key in keys: if key == "sign": continue sign_str += f"{key}{params[key]}" m = hashlib.sha1() m.update(sign_str.encode("utf-8")) return m.hexdigest() def gen_sign(enterprise_user_id, enterprise_building_ids): print("************************************嘉里jwt**************************************") get_delivery_url = "https://api.yogorobot.com/v3/user/api/v1/user/login/jwt" get_delivery_params = { "timestamp": int(time.time()), "app": "delivery", "enterprise_id": 765, "enterprise_building_ids": enterprise_building_ids, "enterprise_user_id": enterprise_user_id, } get_delivery_params["sign"] = _sign( params=get_delivery_params, enterprise_secret=prod_jwt["765"], ) res = requests.post( url=get_delivery_url, json=get_delivery_params, ) print(json.loads(res.text)) if __name__ == "__main__": fire.Fire(gen_sign)