Пример #1
0
        internal static void Validate(string sharedAccessSignature)
        {
            string str;
            string str1;
            string str2;
            string str3;

            if (string.IsNullOrEmpty(sharedAccessSignature))
            {
                throw new ArgumentNullException("sharedAccessSignature");
            }
            IDictionary <string, string> strs = SharedAccessSignatureToken.ExtractFieldValues(sharedAccessSignature);

            if (!strs.TryGetValue("sig", out str))
            {
                throw new ArgumentNullException("sig");
            }
            if (!strs.TryGetValue("se", out str1))
            {
                throw new ArgumentNullException("se");
            }
            if (!strs.TryGetValue("skn", out str2))
            {
                throw new ArgumentNullException("skn");
            }
            if (!strs.TryGetValue("sr", out str3))
            {
                throw new ArgumentNullException("sr");
            }
        }
        protected override IAsyncResult OnBeginGetToken(string appliesTo, string action, TimeSpan timeout, AsyncCallback callback, object state)
        {
            SharedAccessSignatureToken sharedAccessSignatureToken = new SharedAccessSignatureToken(this.BuildSignature(appliesTo));

            TokenProviderHelper.TokenResult <SecurityToken> tokenResult = new TokenProviderHelper.TokenResult <SecurityToken>()
            {
                CacheUntil = sharedAccessSignatureToken.ExpiresOn,
                Token      = sharedAccessSignatureToken
            };
            return(new CompletedAsyncResult <TokenProviderHelper.TokenResult <SecurityToken> >(tokenResult, callback, state));
        }
 internal SharedAccessSignatureTokenProvider(string sharedAccessSignature) : base(false, true, Microsoft.ServiceBus.TokenScope.Entity)
 {
     SharedAccessSignatureToken.Validate(sharedAccessSignature);
     this.sharedAccessSignature = sharedAccessSignature;
 }