Exemplo n.º 1
0
        protected override CredentialsRefreshState GenerateNewCredentials()
        {
            SecurityCredentials securityCredentials = null;
            Uri           uri           = new Uri(Server + Uri);
            JitteredDelay jitteredDelay = new JitteredDelay(new TimeSpan(0, 0, 0, 0, 200), new TimeSpan(0, 0, 0, 0, 50));
            int           num           = 1;

            while (true)
            {
                try
                {
                    securityCredentials = URIBasedRefreshingCredentialHelper.GetObjectFromResponse <SecurityCredentials>(uri);
                    if (securityCredentials != null)
                    {
                        break;
                    }
                }
                catch (Exception ex)
                {
                    if (num == MaxRetries)
                    {
                        throw new AmazonServiceException(string.Format(CultureInfo.InvariantCulture, "Unable to retrieve credentials. Message = \"{0}\".", ex.Message));
                    }
                }
                AWSSDKUtils.Sleep(jitteredDelay.Next());
                num++;
            }
            return(new CredentialsRefreshState
            {
                Credentials = new ImmutableCredentials(securityCredentials.AccessKeyId, securityCredentials.SecretAccessKey, securityCredentials.Token),
                Expiration = securityCredentials.Expiration
            });
        }
        public static IEnumerable <string> GetAvailableRoles()
        {
            string contents = URIBasedRefreshingCredentialHelper.GetContents(RolesUri);

            if (!string.IsNullOrEmpty(contents))
            {
                string[] array  = contents.Split(AliasSeparators, StringSplitOptions.RemoveEmptyEntries);
                string[] array2 = array;
                for (int i = 0; i < array2.Length; i++)
                {
                    string text = array2[i].Trim();
                    if (!string.IsNullOrEmpty(text))
                    {
                        yield return(text);
                    }
                }
            }
        }
 private SecurityCredentials GetRoleCredentials()
 {
     return(URIBasedRefreshingCredentialHelper.GetObjectFromResponse <SecurityCredentials>(CurrentRoleUri));
 }
 private static SecurityInfo GetServiceInfo()
 {
     return(URIBasedRefreshingCredentialHelper.GetObjectFromResponse <SecurityInfo>(InfoUri));
 }