def _iotHubSasToken(self, uri):
"""Create the Azure IOT Hub SAS token
Args:
uri (str): Resource URI
Returns:
Token string
"""
expiry = str(int((time.time() + self.TOKEN_VALID_SECS)))
key = base64.b64decode(self.keyvalue.encode('utf-8'))
sig = '{}\n{}'.format(uri, expiry).encode('utf-8')
signature = urllib.quote(
base64.b64encode(hmac.HMAC(key, sig, hashlib.sha256).digest())
).replace('/', '%2F')
token = 'SharedAccessSignature sig={}&se={}&skn={}&sr={}'.format(
signature, expiry, self.keyname, uri.lower())
return token
评论列表
文章目录