Разработать пользовательскую аутентификацию без пароля - PullRequest
3 голосов
/ 25 октября 2011

В моем приложении мне нужна аутентификация базы данных, но без пароля.Просто введя свой номер телефона.Когда пользователь звонит, он вводит номер телефона, адрес и имя, а не пароль.

Это реально?Просто не могу понять, как это сделать.

Спасибо за помощь заранее!

1 Ответ

9 голосов
/ 06 сентября 2012

Разобрался так:

В инициализаторе devise_no_pass.rb добавьте:

require 'devise/strategies/authenticatable'

module Devise
  module Strategies
    class DeviseNoPass < Authenticatable
      def authenticate!
        return super unless params[:customer_sign_in]
        customer = Customer.find_by_phone(params[:customer_sign_in]
        customer ? success!(customer) : raise
      end
    end
  end
end

Warden::Strategies.add(:devise_no_pass, Devise::Strategies::DeviseNoPass)

В devise.rb:

    config.warden do |manager|
      manager.default_strategies(:scope => :customer).unshift :devise_no_pass
    end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...