12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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)
|