IoT Hub Device Explorer SAS最大TTL

时间:2017-12-08 12:21:08

标签: azure-iot-hub

在生成SAS令牌的设备资源管理器 IoT Hub 时,可以设置的最大 TTL 是多少?

我不希望它在最佳情况下过期。

插入0没有帮助,当连接丢失时,它永远不会重新连接。

2 个答案:

答案 0 :(得分:0)

查看GitHub中的 Device Explorer 实现:

 decimal ttlValue = numericUpDown1.Value;
 var sasBuilder = new SharedAccessSignatureBuilder()
 {
      Key = this.selectedDeviceKey,
      Target = String.Format("{0}/devices/{1}", iotHubHostName, WebUtility.UrlEncode(this.selectedDeviceId)),
      TimeToLive = TimeSpan.FromDays(Convert.ToDouble(ttlValue))
 };
 sasRichTextBox.Text = deviceConnectionStringWithSAS(sasBuilder.ToSignature()) + "\r\n";

答案 1 :(得分:0)

拥有一个永不过期的公共令牌原则上不是一个好主意:如果一个实体捕获并设法解密它上面的消息,那么它就可以使用令牌冒充设备而你不会#39;知道它不是设备......这就是为什么一个好的做法是定期更新SAS令牌的原因。我们的开源设备SDK基于永远不会出现的私钥实现SAS令牌的生成和更新。为什么不实现这个而不是硬编码永不过期的令牌?