private Amazon.SSO.Model.GetRoleCredentialsResponse CallAWSServiceOperation(IAmazonSSO client, Amazon.SSO.Model.GetRoleCredentialsRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Single Sign-On", "GetRoleCredentials"); try { #if DESKTOP return(client.GetRoleCredentials(request)); #elif CORECLR return(client.GetRoleCredentialsAsync(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; } }
public static async Task <ImmutableCredentials> CredentialsFromSsoAccessTokenAsync(IAmazonSSO client, string accountId, string roleName, string accessToken, IDictionary <string, object> additionalProperties) { var request = new GetRoleCredentialsRequest() { AccessToken = accessToken, AccountId = accountId, RoleName = roleName, }; InternalSDKUtils.ApplyValues(request, additionalProperties); var response = await client.GetRoleCredentialsAsync(request).ConfigureAwait(false); DateTime credentialsExpiration = AWSSDKUtils.ConvertFromUnixEpochMilliseconds(response.RoleCredentials.Expiration); return(new SSOImmutableCredentials( response.RoleCredentials.AccessKeyId, response.RoleCredentials.SecretAccessKey, response.RoleCredentials.SessionToken, credentialsExpiration)); }