Рельсы 5.1, Рельсы 6.1.3 интеграция с драгоценными камнями recaptcha v3

#ruby-on-rails #ruby-on-rails-5 #ruby-on-rails-6 #recaptcha-v3

Вопрос:

Я нашел этот документ для интеграции rails gem recaptcha3 с регистрацией устройства.

https://github.com/heartcombo/devise/wiki/How-To:-Use-Recaptcha-with-Devise

Так… Я добавляю это в форму регистрации для устройства:

 <%= recaptcha_v3(action: 'signup') %>
 

Затем добавьте это в контроллер:

 class Users::RegistrationsController < Devise::RegistrationsController

  prepend_before_action :check_captcha, only: [:create] # Change this to be any 
  actions you want to protect.

  private

  def check_captcha
    return if !verify_recaptcha # verify_recaptcha(action: 'signup') for v3

    self.resource = resource_class.new sign_up_params
    resource.validate # Look for any other validation errors besides reCAPTCHA
    set_minimum_password_length

    respond_with_navigational(resource) do
       flash.discard(:recaptcha_error) # We need to discard flash to avoid showing it 
       on the next page reload
       render :new
    end
  end
 end
 

Затем я проверяю документацию по gem и добавляю:

 # config/initializers/recaptcha.rb
  Recaptcha.configure do |config|
     config.site_key  = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
     config.secret_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

  # Uncomment the following line if you are using a proxy server:
  # config.proxy = 'http://myproxy.com.au:8080'

  # Uncomment the following lines if you are using the Enterprise API:
  # config.enterprise = true
  # config.enterprise_api_key = 'AIzvFyE3TU-g4K_Kozr9F1smEzZSGBVOfLKyupA'
  # config.enterprise_project_id = 'my-project'
end
 

И что теперь? рекапча невидима, потому что в версии V3 она сохраняет только некоторые баллы. Это еще не работает?

Я не нахожу никакого руководства или помощи по recaptcha v3 для устройств / рельсов.

Может быть, кто-то уже это сделал ?

Ответ №1:

Я использовал его в приложении rails 6 с помощью devise, проверьте этот код https://github.com/Shaher-11/udzilla/commit/8220527e79eb49fa045fe1d7d1593031524de5a0