Как зарегистрировать пользователя с помощью AWS Cognito и консоли .NET Core 2.0? - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь зарегистрировать пользователя с помощью AWS Cognito с помощью моего консольного приложения .net core 2.0 и пула пользователей.Мое приложение аварийно завершает работу при выполнении этой строки:

var result = await _client.SignUpAsync(signUpRequest);

Разочаровывает то, что исключение не обрабатывается.Мое консольное приложение просто перестает работать под Visual Studio 2017. Никаких ошибок, ничего.Итак, я попытался настроить ведение журнала AWS SDK с помощью log4net, но единственное, что регистрируется, - это моя собственная запись информации журнала.ПОМОГИТЕ!!!!Супер расстраивает.

Вот часть Program.cs для настройки ведения журнала:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]

namespace ASSA
{
    class Program
    {
        private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
        private static readonly ILoggerRepository repo = LogManager.GetRepository(Assembly.GetEntryAssembly());

        static void Main(string[] args)
        {
            if (repo.Configured)
                Console.WriteLine("configured");

            AWSConfigs.AWSRegion = "us-east-1";
            AWSConfigs.LoggingConfig.LogTo = LoggingOptions.Log4Net;
            AWSConfigs.LoggingConfig.LogResponses = ResponseLoggingOption.Always;

            log.Info("Started ASSA...");
            ShowMenu();
            WaitForMenuSelection();
        }

Вот метод SignUpUser:

    public async Task<bool> SignUpUser(string username, string password, string email, string phoneNumber, string firstName, string lastName)
    {
        try
        {
            var signUpRequest = new SignUpRequest
            {
                ClientId = CLIENT_ID,
                Username = username,
                Password = password
            };

            var attributeType = new AttributeType
            {
                Name = "phone_number",
                Value = phoneNumber
            };
            signUpRequest.UserAttributes.Add(attributeType);

            var attributeType1 = new AttributeType
            {
                Name = "email",
                Value = email
            };
            signUpRequest.UserAttributes.Add(attributeType1);

            var attributeType2 = new AttributeType
            {
                Name = "given_name",
                Value = firstName
            };
            signUpRequest.UserAttributes.Add(attributeType2);

            var attributeType3 = new AttributeType
            {
                Name = "family_name",
                Value = lastName
            };
            signUpRequest.UserAttributes.Add(attributeType3);

            var result = await _client.SignUpAsync(signUpRequest);
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            return false;
        }
        return true;
    }

Вот как я настраиваю учетные данные:

            try
        {
            BasicAWSCredentials creds = null;

            var chain = new CredentialProfileStoreChain();
            if (chain.TryGetAWSCredentials("Thomas", out var awsCredentials))
            {
                creds = new BasicAWSCredentials(awsCredentials.GetCredentials().AccessKey, awsCredentials.GetCredentials().SecretKey);
            }

            _client = new AmazonCognitoIdentityProviderClient(creds, Amazon.RegionEndpoint.USEast1);
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            throw;
        }

Вылетает на линии:

var result = await _client.SignUpAsync (signUpRequest);

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...