public void Configure(PlatoTwitterOptions options)
        {
            var settings = _TwitterSettingsStore
                           .GetAsync()
                           .GetAwaiter()
                           .GetResult();

            if (settings != null)
            {
                // ------------------
                // Consumer Keys
                // ------------------

                options.ConsumerKey = settings.ConsumerKey;

                // Decrypt the secret
                if (!String.IsNullOrWhiteSpace(settings.ConsumerSecret))
                {
                    try
                    {
                        options.ConsumerSecret = _encrypter.Decrypt(settings.ConsumerSecret);
                    }
                    catch (Exception e)
                    {
                        if (_logger.IsEnabled(LogLevel.Error))
                        {
                            _logger.LogError(e, $"There was a problem decrypting the Twitter consumer key secret. {e.Message}");
                        }
                    }
                }

                // ------------------
                // Access Tokens
                // ------------------

                options.AccessToken = settings.AccessToken;

                // Decrypt the secret
                if (!String.IsNullOrWhiteSpace(settings.AccessTokenSecret))
                {
                    try
                    {
                        options.AccessTokenSecret = _encrypter.Decrypt(settings.AccessTokenSecret);
                    }
                    catch (Exception e)
                    {
                        if (_logger.IsEnabled(LogLevel.Error))
                        {
                            _logger.LogError(e, $"There was a problem decrypting the Twitter access token secret. {e.Message}");
                        }
                    }
                }
            }
        }
Пример #2
0
        async Task <TwitterSettingsViewModel> GetModel()
        {
            var settings = await _twitterSettingsStore.GetAsync();

            if (settings != null)
            {
                // Decrypt the secret
                var consumerSecret    = string.Empty;
                var accessTokenSecret = string.Empty;

                if (!string.IsNullOrWhiteSpace(settings.ConsumerSecret))
                {
                    try
                    {
                        consumerSecret = _encrypter.Decrypt(settings.ConsumerSecret);
                    }
                    catch (Exception e)
                    {
                        if (_logger.IsEnabled(LogLevel.Error))
                        {
                            _logger.LogError(e, $"There was a problem decrypting the Twitter consumer secret. {e.Message}");
                        }
                    }
                }

                if (!string.IsNullOrWhiteSpace(settings.AccessTokenSecret))
                {
                    try
                    {
                        accessTokenSecret = _encrypter.Decrypt(settings.AccessTokenSecret);
                    }
                    catch (Exception e)
                    {
                        if (_logger.IsEnabled(LogLevel.Error))
                        {
                            _logger.LogError(e, $"There was a problem decrypting the Twitter access token secret. {e.Message}");
                        }
                    }
                }

                return(new TwitterSettingsViewModel()
                {
                    ConsumerKey = _platoOptions.DemoMode ? "123456789" : settings.ConsumerKey,
                    ConsumerSecret = _platoOptions.DemoMode ? "xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx" : consumerSecret,
                    CallbackPath = _platoOptions.DemoMode ? string.Empty : settings.CallbackPath.ToString(),
                    AccessToken = _platoOptions.DemoMode ? "123456789" : settings.AccessToken,
                    AccessTokenSecret = _platoOptions.DemoMode ? "xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx" : accessTokenSecret
                });
            }

            // return default settings
            return(new TwitterSettingsViewModel());
        }
Пример #3
0
        public void Configure(TwitterOptions options)
        {
            var settings = _TwitterSettingsStore
                           .GetAsync()
                           .GetAwaiter()
                           .GetResult();

            if (settings != null)
            {
                // ------------------
                // Consumer Keys
                // ------------------

                options.ConsumerKey = settings.ConsumerKey;

                // Decrypt the secret
                if (!String.IsNullOrWhiteSpace(settings.ConsumerSecret))
                {
                    try
                    {
                        var protector = _dataProtectionProvider.CreateProtector(nameof(TwitterOptionsConfiguration));
                        options.ConsumerSecret = protector.Unprotect(settings.ConsumerSecret);
                    }
                    catch (Exception e)
                    {
                        _logger.LogError($"There was a problem decrypting the twitter consumer key secret. {e.Message}");
                    }
                }

                // ------------------
                // Access Tokens
                // ------------------

                options.AccessToken = settings.AccessToken;

                // Decrypt the secret
                if (!String.IsNullOrWhiteSpace(settings.AccessTokenSecret))
                {
                    try
                    {
                        var protector = _dataProtectionProvider.CreateProtector(nameof(TwitterOptionsConfiguration));
                        options.AccessTokenSecret = protector.Unprotect(settings.AccessTokenSecret);
                    }
                    catch (Exception e)
                    {
                        _logger.LogError($"There was a problem decrypting the twitter access token secret. {e.Message}");
                    }
                }
            }
        }
Пример #4
0
        async Task <TwitterSettingsViewModel> GetModel()
        {
            var settings = await _TwitterSettingsStore.GetAsync();

            if (settings != null)
            {
                // Decrypt the secret
                var consumerSecret    = string.Empty;
                var accessTokenSecret = string.Empty;

                if (!string.IsNullOrWhiteSpace(settings.ConsumerSecret))
                {
                    try
                    {
                        var protector = _dataProtectionProvider.CreateProtector(nameof(TwitterOptionsConfiguration));
                        consumerSecret = protector.Unprotect(settings.ConsumerSecret);
                    }
                    catch (Exception e)
                    {
                        _logger.LogError($"There was a problem encrypting the Twitter app secret. {e.Message}");
                    }
                }


                if (!string.IsNullOrWhiteSpace(settings.AccessTokenSecret))
                {
                    try
                    {
                        var protector = _dataProtectionProvider.CreateProtector(nameof(TwitterOptionsConfiguration));
                        accessTokenSecret = protector.Unprotect(settings.AccessTokenSecret);
                    }
                    catch (Exception e)
                    {
                        _logger.LogError($"There was a problem encrypting the Twitter app secret. {e.Message}");
                    }
                }

                return(new TwitterSettingsViewModel()
                {
                    ConsumerKey = settings.ConsumerKey,
                    ConsumerSecret = consumerSecret,
                    AccessToken = settings.AccessToken,
                    AccessTokenSecret = accessTokenSecret
                });
            }

            // return default settings
            return(new TwitterSettingsViewModel());
        }