gpt4 book ai didi

python - 在 Python 中从 Quickblox 进行身份验证和获取 session token

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:58 25 4
gpt4 key购买 nike

我正在通过 REST API 进行操作。两个问题

1) 我想将一些现有数据推送到 Quickblox 自定义对象。我需要多少个 REST 调用? (我不太清楚涉及计算机安全的整个事务状态。)首先是 (a) 获取 session token 。然后按照创建新记录here

2) 我正在尝试获取 session token ,但我收到了 {"errors":{"base":["Unexpected signature"]}} 作为响应。这是我生成随机数、签名和获取 session token 的代码:

# Of course these are not really 0, x, and y's.
appId = '0000'
authKey = 'XXXXXXXXXXX'
authSecret = 'YYYYYYYYYYYYYY'

def getNonce():
import random
return random.random()

def createSignature(nonce):
import hashlib
import hmac
import binascii
import time
stringForSignature = 'application_id={id}&auth_key={auth_key}&nonce={nonce}&timestamp={timestamp}'.format(id=appId,
auth_key=authKey, nonce=nonce, timestamp=time.time())
hmacObj = hmac.new(authKey, stringForSignature, hashlib.sha1)
return binascii.b2a_base64(hmacObj.digest())[:-1] # -1 to get rid of \n

def getSessionToken():
import time
epoch = "%s" % int(time.time())
nonce = getNonce()
params = {'application_id': appId,
'auth_key': authKey,
'timestamp': epoch,
'nonce': nonce,
'signature': createSignature(nonce)}
jsonData = json.dumps(params)

httpHeaders = {'Content-Type': 'application/json',
'QuickBlox-REST-API-Version': '0.1.0'}

r = requests.post('https://api.quickblox.com/session.json', data=jsonData, headers = httpHeaders)
print 'status code:', r.status_code
responseJson = r.text
print responseJson
response = json.loads(responseJson)

getSessionToken()

我想是签名的生成方式导致了问题?

最佳答案

Here是我的问题的答案。事实证明,timestamp 应该只是整数,hamc 应该使用 key ,https://api.quickblox.com/auth.json应该使用而不是 session 。而且我没有为我的签名使用正确的编码。

关于python - 在 Python 中从 Quickblox 进行身份验证和获取 session token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962051/

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