private void lazyLoadHandlers(SocrataSettingsPart part)
        {
            //decrypt stored password on read
            part.PasswordField.Getter(() => {
                try
                {
                    var encryptedPassword = part.Retrieve(x => x.Password);
                    return(String.IsNullOrWhiteSpace(encryptedPassword)
                        ? String.Empty
                        : Encoding.UTF8.GetString(_encryptionService.Decode(Convert.FromBase64String(encryptedPassword))));
                }
                catch
                {
                    Logger.Error("The Socrata password could not be decrypted. It might be corrupted, try to reset it.");
                    return(null);
                }
            });

            // encrypt plaintext password on write
            part.PasswordField.Setter(value => {
                var encryptedPassword = String.IsNullOrWhiteSpace(value)
                    ? String.Empty
                    : Convert.ToBase64String(_encryptionService.Encode(Encoding.UTF8.GetBytes(value)));

                part.Store(x => x.Password, encryptedPassword);
            });
        }
Esempio n. 2
0
 public SodaClient GetClient(SocrataSettingsPart settings)
 {
     if (String.IsNullOrEmpty(settings.Username) || String.IsNullOrEmpty(settings.Password))
     {
         return(new SodaClient(settings.Host, settings.AppToken));
     }
     else
     {
         return(new SodaClient(settings.Host, settings.AppToken, settings.Username, settings.Password));
     }
 }