gpt4 book ai didi

python - DeviceCheck:无法验证授权 token

转载 作者:太空狗 更新时间:2023-10-29 21:57:48 39 4
gpt4 key购买 nike

我正在尝试让 DeviceCheck 工作,但我一直从 Apple 的服务器收到此响应:401 无法验证授权 token

device_token 正在通过 JSON 负载中的 base64 编码字符串发送到我的 python 服务器。知道我可能做错了什么吗?

这是我的代码示例:

def device_check_query(device_token):  
data = {
'device_token': device_token,
'transaction_id': str(uuid4()),
'timestamp': int(time.time() * 1000),
}
jw_token = get_jw_token()
headers = {'Authorization': 'Bearer ' + jw_token}
response = requests.post(QUERY_URL, json=data, headers=headers)
return response.content

def get_jw_token():
with open(KEY_FILE, 'r') as cert_file:
certificate = cert_file.read()

jw_token = jwt.encode(
{'iss': TEAM_ID}, certificate,
algorithm='ES256',
headers={'kid': KEY_ID})

return jw_token

最佳答案

你需要在 payload 中添加发行者 key 然后它就会工作,检查我下面的代码

import time
def device_check_query(device_token):
data = {
'device_token': device_token,
'transaction_id': str(uuid.uuid4()),
'timestamp': int(time.time() * 1000),
}
jw_token = get_jw_token()
headers = {'Authorization': 'Bearer ' + jw_token}
response = requests.post(url, json=data, headers=headers)
return response.content

def get_jw_token():
with open('myfile.p8', 'r') as cert_file:
certificate = cert_file.read()
jw_token = jwt.encode(
{'iss': issuer,'iat': int(time.time())}, certificate,
algorithm='ES256',
headers={'kid': keyid})
return jw_token
device_check_query(u"1234e323a22133....")

关于python - DeviceCheck:无法验证授权 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50463463/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com