def upload_token(self, bucket, key=None, expires=3600, policys=None):
assert bucket != None and bucket != "", "invalid bucket"
all_policys = policys or {}
if 'scope' not in all_policys:
if key:
all_policys['scope'] = bucket + ':' + key
else:
all_policys['scope'] = bucket
if 'deadline' not in all_policys:
all_policys['deadline'] = int(
datetime.timestamp(datetime.now())) + expires
json_policys = json_encode(all_policys)
b64_encoded_policys = urlsafe_base64_encode(json_policys)
sha1_sign = hmac_sha1(self.__secret_key, b64_encoded_policys)
b64_encoded_sign = urlsafe_base64_encode(sha1_sign)
upload_token = self.__access_key + ':' + \
bytes_decode(b64_encoded_sign) + ':' + \
bytes_decode(b64_encoded_policys)
return upload_token
评论列表
文章目录