2011-10-25 5 views
3

Dans mon application, j'ai besoin d'une authentification de base de données, mais sans mot de passe. Juste en entrant votre numéro de téléphone. Lorsque l'utilisateur chante, il saisit le numéro de téléphone, l'adresse et le nom, sans mot de passe.Créer une authentification personnalisée sans mot de passe

Est-il réel? Je ne peux pas comprendre comment le faire.

Merci de votre aide à l'avance!

+1

L'authentification est généralement obtenue en demandant à l'utilisateur que quelque chose seulement ils savoir, ou prouver qu'ils sont en possession de quelque chose d'unique pour eux. Un numéro de téléphone en lui-même ne remplit pas ce critère - mais s'il s'agissait d'un numéro de portable, vous pourriez peut-être envoyer un message SMS avec un code qu'il doit utiliser pour confirmer qu'il possède le téléphone? –

+0

Windows Authentification ou similaire? – leppie

+0

a résolu ce problème – nxxn

Répondre

9

cernées comme ceci:

En devise_no_pass.rb initialiseur ajouter:

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) 

En devise.rb:

config.warden do |manager| 
     manager.default_strategies(:scope => :customer).unshift :devise_no_pass 
    end 
+0

Pouvez-vous partager votre code de modèle client par rapport à concevoir ... et des itinéraires pour cela, ainsi que votre formulaire de connexion? J'essaie de faire quelque chose de similaire et ce serait utile. Je voudrais voir quels modules concevoir vous avez activé dans le modèle spécifiquement –

+0

Je suis désolé, mais je n'ai plus ce code de projet. Et je ne me souviens plus exactement de ce qu'il y avait dans ma tête. – nxxn

+0

Hey, je travaille aussi sur le même problème mais pas de chance pour le moment. Je dois me connecter sans mot de passe i.e login avec seulement un nom d'utilisateur. @ Joel avez-vous trouvé la solution? –

Questions connexes