2013-02-12 11 views
9

मैं अपने आवेदन में डेविस मणि का उपयोग कर रहा हूं। मैं वेब एपीआई कॉल से वेब और दोनों अनुरोधों के जवाब देने के लिए devise session_controller को कॉन्फ़िगर कर सकता हूं।पासवर्ड भूल गए Devise मणि API

लेकिन अब मैं यह देखने की कोशिश कर रहा हूं कि मैं मोबाइल एपीआई कॉल के लिए डेविस मणि के भूल गए पासवर्ड विकल्प का उपयोग कैसे कर सकता हूं। मैं एपीआई के साथ साइन इन

curl -X POST 'http://localhost:3002/users/sign_in.json' -d 'user[email][email protected]&user[password]=123456' 

क्या मैं भूल गया पासवर्ड भूल सकता हूं?

+0

हाय @balanv, मैं वेब और एपीआई दोनों के लिए उपयोग करके प्रमाणीकरण देने के लिए खोज रहा हूं। क्या मैं जान सकता हूं कि आपने कैसे काम किया है? अग्रिम में धन्यवाद। –

+0

@ सागरबॉमिडी: कृपया इसे अलग प्रश्न के रूप में पोस्ट करें, मैं आपको इसके लिए उत्तर प्रदान कर सकता हूं। – balanv

+0

यह शामिल नहीं है: devise मणि में पुनर्प्राप्त करने योग्य मॉड्यूल? – BKSpurgeon

उत्तर

17

उत्तर मिला।

1) जो इनपुट

2 के रूप में email प्राप्त करता है एक कस्टम कार्य बनाएँ) कोड के नीचे जोड़ें

@user = User.find_by_email("[email protected]") 
if @user.present? 
@user.send_reset_password_instructions 
render :text => "updated" 
else 
    render :text => "no such email" 
end 
+1

एक्सेलेंट !!!!!!! –

+3

आप एक ही संदेश को प्रस्तुत करने से बेहतर होंगे कि उपयोगकर्ता मौजूद है या नहीं। जैसा कि, इस क्रिया का उपयोग वैध उपयोगकर्ता खातों के लिए मछली में किया जा सकता है। –

+1

अच्छा क्रिस! – balanv

1

मैंने किया था यह:

config/routes.rb में:

namespace :api do 
    namespace :v1 do 
    resources :reset_passwords, only: [:index, :create] 
    end 
end 

और app/controllers/api/v1/reset_passwords_controller.rb में:

class Api::V1::ResetPasswordsController < Api::V1::BaseController 
    def index 
    user = User.find_by_email(user_params) 
    if user.present? 
    user.send_reset_password_instructions 
    render(
      json: "{ \"result\": \"Email already exists\"}", 
      status: 201 
     ) 
    else 
     render(
      json: "{ \"error\": \"Not found\"}", 
      status: 404 
     ) 
    end 
    end 

    private 

    def user_params 
    params.require(:email) 
    end 

end 
संबंधित मुद्दे