Azure IoT中心令牌格式和选项

问题描述 投票:0回答:1

我们有连接到云的旧式仪表,可以将其配置为将读数发送到任何http端点。我还可以配置它以添加诸如“ Authorization = SharedAccessSignature sr = ...”之类的标题。

但是,当标头值包含等号(“ =”)时,它将失败。

所以问题是,使用sas令牌是否还有其他选择(我不能使用证书)?

azure-iot-hub
1个回答
0
投票

我在IoT Central应用程序中通过.net使用Rest Api。您可以检查here完整代码。我正在正确获取数据。

HttpClient对象

request.Headers.Add("Authorization", getAuth(authScope, reason) + authTarget);

string getAuth(string scope, string target)
    {
        long utcTimeInMilliseconds = DateTime.UtcNow.Ticks / 10000;
        long expires = ((utcTimeInMilliseconds + (7200 * 1000)) / 1000);
        string sr = scope + "%2f" + target + "%2f" + deviceId;
        string sigNoEncode = computeHash(deviceKey, sr + '\n' + expires.ToString());
        string sigEncoded = Uri.EscapeDataString(sigNoEncode);
        return "SharedAccessSignature sr=" + sr + "&sig=" + sigEncoded + "&se=" + expires.ToString();
    }

希望它会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.