The code powering m.abunchtell.com https://m.abunchtell.com
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

32 lignes
717 B

  1. # frozen_string_literal: true
  2. require 'devise/strategies/base'
  3. module Devise
  4. module Strategies
  5. class TwoFactorPamAuthenticatable < Base
  6. def valid?
  7. valid_params? && mapping.to.respond_to?(:authenticate_with_pam)
  8. end
  9. def authenticate!
  10. resource = mapping.to.authenticate_with_pam(params[scope])
  11. if resource && !resource.otp_required_for_login?
  12. success!(resource)
  13. else
  14. fail(:invalid)
  15. end
  16. end
  17. protected
  18. def valid_params?
  19. params[scope] && params[scope][:password].present?
  20. end
  21. end
  22. end
  23. end
  24. Warden::Strategies.add(:two_factor_pam_authenticatable, Devise::Strategies::TwoFactorPamAuthenticatable)