2017-01-20 4 views
0

Ich überwache die Einträge in einer Dokumentendatenbanksammlung mithilfe der REST-API von einer Front-End-Anwendung.So verlängern Sie das Verfallsdatum einer Dokument-DB REST API Ressourcen-Token

Die RESP-API fragt anhand bestimmter Filterkriterien nach einer Liste von Dokumenten in der Sammlung ab.

Das Token zum Authentifizieren des REST-API-Aufrufs wird mithilfe des .NET SDK generiert.

Hier ist das Code-Snippet für die Token Generation verwendet:

string GenerateAuthToken(string verb, string resourceId, string resourceType, string key, string keyType, string tokenVersion) 
    { 
     var hmacSha256 = new System.Security.Cryptography.HMACSHA256 { Key = Convert.FromBase64String(key) }; 

     string verbInput = verb ?? ""; 
     string resourceIdInput = resourceId ?? ""; 
     string resourceTypeInput = resourceType ?? ""; 

     string dateString = DateTime.UtcNow.ToString("r").ToLower(); 

     string payLoad = string.Format(System.Globalization.CultureInfo.InvariantCulture, 
      "{0}\n{1}\n{2}\n{3}\n{4}\n", 
       verb.ToLowerInvariant(), 
       resourceType.ToLowerInvariant(), 
       resourceId, 
       dateString, 
       "" 
     ); 

     byte[] hashPayLoad = hmacSha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes(payLoad)); 
     string signature = Convert.ToBase64String(hashPayLoad); 

     return System.Web.HttpUtility.UrlEncode(String.Format(System.Globalization.CultureInfo.InvariantCulture, "type={0}&ver={1}&sig={2}", 
      keyType, 
      tokenVersion, 
      signature)); 
    } 

Gemäß den API documentation:

Ressourcen Token muss von einem Zwischenserver erzeugt werden. Der -Server dient als Hauptschlüsselwächter und generiert zeitbeschränkte Token für nicht vertrauenswürdige Clients, z. B. Webbrowser.

Wie lautet die Standardverfallszeit für dieses Token? Gibt es eine Möglichkeit, den Ablauf des Tokens zu verlängern?

Antwort

2

Standardmäßig ist der Gültigkeitszeitraum eines Ressourcen-Tokens 1 Stunde. Die Gültigkeitsdauer kann bis zu 5 Stunden überschritten werden.

Wenn Sie REST verwenden, muss es beim Erstellen/Ersetzen/Lesen von Berechtigungen im Header "x-ms-documentdb-expiry-seconds" festgelegt werden.

Weitere Informationen zum Erstellen eines finden Sie unter https://docs.microsoft.com/en-us/rest/api/documentdb/permissions

Verwandte Themen