IoT .Net SDK:有没有办法设置 SAS 令牌寿命?
IoT .Net SDK: Is there a way to set the SAS Token Life?
使用 .Net SDK for IoT,有没有办法设置 OPTION_SAS_TOKEN_LIFETIME (https://github.com/Azure/azure-iot-sdk-c/blob/master/iothub_client/inc/iothub_client_options.h#L36)?
我知道我可以使用以下方法生成令牌并拥有进程:
var sasBuilder = new SharedAccessSignatureBuilder();
sasBuilder.Key = "jzaOR************F2uT1c=";
sasBuilder.Target = "k****y.azure-devices.net" + "/devices/" + "dotNet";
sasBuilder.TimeToLive = TimeSpan.FromMinutes(120);
var auth = new DeviceAuthenticationWithToken("dotNet", sasBuilder.ToSignature());
deviceClient = DeviceClient.Create("k****y.azure-devices.net", auth, TransportType.Mqtt);
但这假设我拥有 SAS 令牌到期。
我也看到可以在C SDK中设置:(https://github.com/Azure/azure-iot-sdk-c/issues/1182)
查看 github 中的相关主题:https://github.com/Azure/azure-iot-sdk-csharp/issues/1818
"默认情况下,如果您使用连接字符串初始化设备客户端,它将生成有效期为一个小时的 sas 令牌。要覆盖此行为,您可以实现抽象 class DeviceAuthenticationWithTokenRefresh
并将其传递给设备客户端 Create
方法进行初始化。"
谢谢。
使用 .Net SDK for IoT,有没有办法设置 OPTION_SAS_TOKEN_LIFETIME (https://github.com/Azure/azure-iot-sdk-c/blob/master/iothub_client/inc/iothub_client_options.h#L36)?
我知道我可以使用以下方法生成令牌并拥有进程:
var sasBuilder = new SharedAccessSignatureBuilder();
sasBuilder.Key = "jzaOR************F2uT1c=";
sasBuilder.Target = "k****y.azure-devices.net" + "/devices/" + "dotNet";
sasBuilder.TimeToLive = TimeSpan.FromMinutes(120);
var auth = new DeviceAuthenticationWithToken("dotNet", sasBuilder.ToSignature());
deviceClient = DeviceClient.Create("k****y.azure-devices.net", auth, TransportType.Mqtt);
但这假设我拥有 SAS 令牌到期。
我也看到可以在C SDK中设置:(https://github.com/Azure/azure-iot-sdk-c/issues/1182)
查看 github 中的相关主题:https://github.com/Azure/azure-iot-sdk-csharp/issues/1818
"默认情况下,如果您使用连接字符串初始化设备客户端,它将生成有效期为一个小时的 sas 令牌。要覆盖此行为,您可以实现抽象 class DeviceAuthenticationWithTokenRefresh
并将其传递给设备客户端 Create
方法进行初始化。"
谢谢。