2017-01-20 20 views
0

フロントエンドアプリケーションからREST APIを使用してドキュメントデータベースコレクション内のエントリを監視しています。ドキュメントDB REST APIリソーストークンの有効期限を延長する方法

RESP APIは、特定のフィルタ条件に基づいてコレクション内のドキュメントのリストを照会します。

REST API呼び出しを認証するためのトークンは、.NET SDKを使用して生成されます。

ここトークンの生成に使用されるコードスニペットです:

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)); 
    } 

API documentationあたりとおり

リソーストークンは、中間サーバによって生成されなければなりません。 サーバーはマスターキーガーディアンとして機能し、Webブラウザなどの信頼できないクライアントのための時間制限付きトークン を生成します。

このトークンのデフォルトの有効期限は何ですか?トークンの期限を延長する方法はありますか?

答えて

2

デフォルトでは、リソーストークンの有効期間は1時間です。有効期間は最大5時間に上書きすることができます。

RESTを使用している場合は、Permissionを作成/置換/読み取りするときに "x-ms-documentdb-expiry-seconds"ヘッダーに設定する必要があります。

作成方法の詳細については、https://docs.microsoft.com/en-us/rest/api/documentdb/permissions

を参照してください。
関連する問題