private Amazon.SecurityToken.Model.AssumeRoleWithWebIdentityResponse CallAWSServiceOperation(IAmazonSecurityTokenService client, Amazon.SecurityToken.Model.AssumeRoleWithWebIdentityRequest request)
        {
            Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Security Token Service", "AssumeRoleWithWebIdentity");

            try
            {
#if DESKTOP
                return(client.AssumeRoleWithWebIdentity(request));
#elif CORECLR
                return(client.AssumeRoleWithWebIdentityAsync(request).GetAwaiter().GetResult());
#else
#error "Unknown build edition"
#endif
            }
            catch (AmazonServiceException exc)
            {
                var webException = exc.InnerException as System.Net.WebException;
                if (webException != null)
                {
                    throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
                }

                throw;
            }
        }
Exemple #2
0
        public void SecurityTokenServiceAssumeRoleWithWebIdentity()
        {
            #region to-assume-a-role-as-an-openid-connect-federated-user-1480533445696

            var response = client.AssumeRoleWithWebIdentity(new AssumeRoleWithWebIdentityRequest
            {
                DurationSeconds  = 3600,
                ProviderId       = "www.amazon.com",
                RoleArn          = "arn:aws:iam::123456789012:role/FederatedWebIdentityRole",
                RoleSessionName  = "app1",
                WebIdentityToken = "Atza%7CIQEBLjAsAhRFiXuWpUXuRvQ9PZL3GMFcYevydwIUFAHZwXZXXXXXXXXJnrulxKDHwy87oGKPznh0D6bEQZTSCzyoCtL_8S07pLpr0zMbn6w1lfVZKNTBdDansFBmtGnIsIapjI6xKR02Yc_2bQ8LZbUXSGm6Ry6_BG7PrtLZtj_dfCTj92xNGed-CrKqjG7nPBjNIL016GGvuS5gSvPRUxWES3VYfm1wl7WTI7jn-Pcb6M-buCgHhFOzTQxod27L9CqnOLio7N3gZAGpsp6n1-AJBOCJckcyXe2c6uD0srOJeZlKUm2eTDVMf8IehDVI0r1QOnTV6KzzAI3OY87Vd_cVMQ"
            });

            AssumedRoleUser assumedRoleUser             = response.AssumedRoleUser;
            string          audience                    = response.Audience;
            Credentials     credentials                 = response.Credentials;
            integer         packedPolicySize            = response.PackedPolicySize;
            string          provider                    = response.Provider;
            string          subjectFromWebIdentityToken = response.SubjectFromWebIdentityToken;

            #endregion
        }