2017-07-23 8 views
1

Ich habe diese Methode von der Microsoft-Dokumentation zu generieren: https://docs.microsoft.com/en-us/rest/api/eventhub/generate-sas-tokenParameter benötigt SAS Token für Azure IoT Hub in C#

private static string createToken(string resourceUri, string keyName, string key) { 
TimeSpan sinceEpoch = DateTime.UtcNow - new DateTime(1970, 1, 1); 
var week = 60 * 60 * 24 * 7; 
var expiry = Convert.ToString((int)sinceEpoch.TotalSeconds + week); 
string stringToSign = HttpUtility.UrlEncode(resourceUri) + "\n" + expiry; 
HMACSHA256 hmac = new HMACSHA256(Encoding.UTF8.GetBytes(key)); 
var signature = Convert.ToBase64String(hmac.ComputeHash(Encoding.UTF8.GetBytes(stringToSign))); 
var sasToken = String.Format(CultureInfo.InvariantCulture, "SharedAccessSignature sr={0}&sig={1}&se={2}&skn={3}", HttpUtility.UrlEncode(resourceUri), HttpUtility.UrlEncode(signature), expiry, keyName); 
return sasToken;} 

ich wissen muss, was soll ich für 'keyName' verwenden, 'String-Schlüssel' Parameter rufe diese Methode auf. Ich bin neu in Azure IoT Hub und C#. Ich muss nur diese Methode aufrufen und meinen Token nehmen, der im Energia (Arduino) Projekt verwendet wird.

Antwort

0

Diese Parameter beziehen sich auf die Richtlinien für den gemeinsamen Zugriff des Ereignis-Hubs. Diese können über das Azure-Portal gefunden werden. Meistens werden sie gefunden, wenn Sie das Portal verwenden, um die Ressource, die Sie auf der linken Seite im Menü blättern konfigurieren und in möchten wechseln Sie zu „Shared Access Policies“ im Menü:

enter image description here

enter image description here

Diese Bilder stammen aus der offiziellen Dokumentation. Siehe Schritt 4 und Schritt 5 in this document.

Im obigen Beispiel ist der keyName "RootManageSharedAccessKey" und der Schlüssel ist "Ihr Schlüssel hier".

Grundsätzlich bezieht sich keyName auf den Namen der Zugriffsrichtlinie, zB "TelemetrySender" und der Schlüssel bezieht sich auf den primären oder sekundären Schlüssel der Zugriffsrichtlinie.

Für mehr Hintergrundmaterial lesen Sie über Shared Access Signature authentication here.

+0

Ich folgte diese Schritte früher, ich brauchte nur die Parameter. Vielen Dank! – Adela

Verwandte Themen