public RecaptchaService(IOptionsMonitor <RecaptchaSettings> settings, HttpClient httpClient, ILogger <RecaptchaService> logger) { _settings = settings.CurrentValue; _httpClient = httpClient; _logger = logger; }
/// <summary> /// /// </summary> /// <param name="settings"></param> /// <param name="tagHelperComponentManager"></param> /// <exception cref="ArgumentNullException"></exception> public RecaptchaV3TagHelper(IOptionsMonitor <RecaptchaSettings> settings, ITagHelperComponentManager tagHelperComponentManager) { _ = settings ?? throw new ArgumentNullException(nameof(settings)); _ = tagHelperComponentManager ?? throw new ArgumentNullException(nameof(tagHelperComponentManager)); _settings = settings.CurrentValue; _tagHelperComponentManager = tagHelperComponentManager; }
/// <summary> /// /// </summary> /// <param name="settings"></param> /// <param name="options"></param> public RecaptchaTagHelper(IOptionsMonitor <RecaptchaSettings> settings, IOptionsMonitor <RecaptchaOptions> options) { _ = settings ?? throw new ArgumentNullException(nameof(settings)); _ = options ?? throw new ArgumentNullException(nameof(options)); _settings = settings.CurrentValue; _options = options.CurrentValue; Theme = _options.Theme; Size = _options.Size; }
public SiteVerifierProxyTests() { var configurationRoot = new ConfigurationBuilder() .AddJsonFile("secrets.json") .Build(); var recaptchaSettings = new RecaptchaSettings { SecretKey = configurationRoot["reCAPTCHATestSecretKey"] }; _proxy = new SiteVerifierProxy(() => new HttpClient(), () => recaptchaSettings, JsonConvert.DeserializeObject); }
/// <summary> /// /// </summary> /// <param name="settings"></param> /// <param name="options"></param> /// <param name="tagHelperComponentManager"></param> /// <exception cref="ArgumentNullException"></exception> public RecaptchaInvisibleTagHelper(IOptionsMonitor <RecaptchaSettings> settings, IOptionsMonitor <RecaptchaOptions> options, ITagHelperComponentManager tagHelperComponentManager) { _ = settings ?? throw new ArgumentNullException(nameof(settings)); _ = options ?? throw new ArgumentNullException(nameof(options)); _ = tagHelperComponentManager ?? throw new ArgumentNullException(nameof(tagHelperComponentManager)); _settings = settings.CurrentValue; _options = options.CurrentValue; _tagHelperComponentManager = tagHelperComponentManager; Badge = _options.Badge; }
public EmailService(ILoggerFactory loggerFactory, IOptions <MailingSettings> emailSettings, IOptions <EnvironmentSettings> environmentSettings, IOptions <RecaptchaSettings> recaptchaSettings) { _logger = loggerFactory.CreateLogger(GetType().FullName); _loggerFactory = loggerFactory; _emailSettings = emailSettings.Value; _environmentSettings = environmentSettings.Value; _recaptchaSettings = recaptchaSettings.Value; HttpClientHandler clientHandler = new() { ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return(true); } }; _httpClient = new HttpClient(clientHandler); }
public LoginModuleSettings( LoginModuleOptions options = LoginModuleOptions.Default, string encryptionChannelName = null, //uses default encryption channel if name is null TimeSpan?passwordExpirationPeriod = null, RecaptchaSettings recaptcha = null, IPasswordStrengthChecker passwordChecker = null, IPasswordHasher passwordHasher = null, int bcryptWorkFactor = 10) { Options = options; EncryptionChannelName = encryptionChannelName; PasswordExpirationPeriod = passwordExpirationPeriod; Recaptcha = recaptcha; PasswordChecker = passwordChecker; //if null, default will be created in LoginMOdule.Init PasswordHasher = passwordHasher ?? new BCryptPasswordHasher(bcryptWorkFactor); }
public ServiceResult Validate(RecaptchaSettings recaptchaSettings, ILogger logger = null) { var result = new ServiceResult { ServiceResultType = ServiceResultType.None }; var client = new HttpClient(); try { if (string.IsNullOrEmpty(recaptchaSettings.RecaptchaResponse)) { result.ServiceResultType = ServiceResultType.Error; result.Message = "Missing recaptcha response"; } else { var responseString = client.GetStringAsync($"https://www.recaptcha.net/recaptcha/api/siteverify?secret={recaptchaSettings.RecaptchaKey}&response={recaptchaSettings.RecaptchaResponse}").GetAwaiter().GetResult(); //var response = JsonSerializer.Deserialize<RecaptchaResponse>(responseString); var response = JsonConvert.DeserializeObject <RecaptchaResponse>(responseString); if (response.success) { result.ServiceResultType = ServiceResultType.Success; } else { result.ServiceResultType = ServiceResultType.Error; result.Message = response.error_codes[0]; if (result.Message.EndsWith("secret")) { logger.LogInformation("Recaptcha failed: {0} / {1}", recaptchaSettings.RecaptchaKey?.Substring(0, 10), recaptchaSettings.RecaptchaResponse?.Substring(0, 15)); } } } } catch (Exception ex) { result.ServiceResultType = ServiceResultType.Error; result.Message = ex.Message; if (logger != null) { logger.LogInformation(ex, "RecaptchaService error"); } } return(result); }
public GoogleRecaptchaService(IOptions <RecaptchaSettings> recaptchaSettings) { _recaptchaSettings = recaptchaSettings.Value; }
/// <summary> /// Initializes a new instance of the <see cref="RecaptchaService" /> class. /// </summary> /// <param name="httpClientFactory">The HTTP client factory.</param> /// <param name="recaptchaSettings">The recaptcha settings.</param> public RecaptchaService(IHttpClientFactory httpClientFactory, RecaptchaSettings recaptchaSettings) { this.httpClientFactory = httpClientFactory; this.recaptchaSettings = recaptchaSettings; }
/// <summary> /// /// </summary> /// <param name="settings"></param> /// <exception cref="ArgumentNullException"></exception> public RecaptchaScriptTagHelper(IOptionsMonitor <RecaptchaSettings> settings) { _ = settings ?? throw new ArgumentNullException(nameof(settings)); _settings = settings.CurrentValue; }