Esempio n. 1
0
        static async Task <ImmutableCredentials> Authenticate(AwsConfig awsConfig, RegionEndpoint region)
        {
            var service = new AwsCliSsoService(region);

            var credentials = await service.GetCredentials(awsConfig.StartUrl, awsConfig.AccountId, awsConfig.RoleName);

            return(await credentials.GetCredentialsAsync());
        }
Esempio n. 2
0
        static AwsConfig GetAwsConfig()
        {
            var awsConfig  = new AwsConfig();
            var configFile = $"{Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)}/.aws/config";

            if (!File.Exists(configFile))
            {
                throw new FileNotFoundException();
            }

            var     parser = new FileIniDataParser();
            IniData data   = parser.ReadFile(configFile);

            awsConfig.AccountId = data["default"]["sso_account_id"];
            awsConfig.RoleName  = data["default"]["sso_role_name"];
            awsConfig.StartUrl  = data["default"]["sso_start_url"];

            if (!awsConfig.IsValid())
            {
                throw new Exception("Credentials not set. Have you run aws configure sso?");
            }

            return(awsConfig);
        }