mirror of
https://github.com/PaiGramTeam/PaiGram.git
synced 2024-11-16 04:35:49 +00:00
🐛 Fix unable to get AuthKey
This commit is contained in:
parent
3b26c0b49f
commit
cf22949a81
@ -1,18 +1,40 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from genshin import Client
|
from genshin import Client
|
||||||
from genshin.utility import recognize_genshin_server
|
from genshin.utility import recognize_genshin_server, generate_dynamic_secret
|
||||||
|
|
||||||
|
from modules.apihelper.utility.helpers import hex_digest
|
||||||
|
|
||||||
AUTHKEY_API = "https://api-takumi.mihoyo.com/binding/api/genAuthKey"
|
AUTHKEY_API = "https://api-takumi.mihoyo.com/binding/api/genAuthKey"
|
||||||
|
GACHA_HEADERS = {
|
||||||
|
"User-Agent": "okhttp/4.8.0",
|
||||||
|
"x-rpc-app_version": "2.28.1",
|
||||||
|
"x-rpc-sys_version": "12",
|
||||||
|
"x-rpc-client_type": "5",
|
||||||
|
"x-rpc-channel": "mihoyo",
|
||||||
|
"x-rpc-device_id": "",
|
||||||
|
"x-rpc-device_name": "",
|
||||||
|
"x-rpc-device_model": "",
|
||||||
|
"Referer": "https://app.mihoyo.com",
|
||||||
|
"Host": "api-takumi.mihoyo.com",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async def get_authkey_by_stoken(client: Client) -> Optional[str]:
|
async def get_authkey_by_stoken(client: Client) -> Optional[str]:
|
||||||
"""通过 stoken 获取 authkey"""
|
"""通过 stoken 获取 authkey"""
|
||||||
|
headers = GACHA_HEADERS.copy()
|
||||||
json = {
|
json = {
|
||||||
"auth_appid": "webview_gacha",
|
"auth_appid": "webview_gacha",
|
||||||
"game_biz": "hk4e_cn",
|
"game_biz": "hk4e_cn",
|
||||||
"game_uid": client.uid,
|
"game_uid": client.uid,
|
||||||
"region": recognize_genshin_server(client.uid),
|
"region": recognize_genshin_server(client.uid),
|
||||||
}
|
}
|
||||||
data = await client.request_bbs(AUTHKEY_API, method="POST", data=json)
|
device_id = hex_digest(str(client.uid))
|
||||||
|
headers["x-rpc-device_id"] = device_id
|
||||||
|
device = "Paimon Build " + device_id[0:5]
|
||||||
|
headers["x-rpc-device_name"] = device
|
||||||
|
headers["x-rpc-device_model"] = device
|
||||||
|
ds = generate_dynamic_secret("ulInCDohgEs557j0VsPDYnQaaz6KJcv5")
|
||||||
|
headers["ds"] = ds
|
||||||
|
data = await client.cookie_manager.request(AUTHKEY_API, method="POST", json=json, headers=headers)
|
||||||
return data.get("authkey")
|
return data.get("authkey")
|
||||||
|
Loading…
Reference in New Issue
Block a user