2009-11-13 11 views
10

से पोस्ट प्राप्त करें मेरे पास एक अन्य वेबसाइट (एक अलग बैकएंड का उपयोग करके) पर एक फॉर्म है जिसे मैं अपने रेल एप्लिकेशन (एक अलग डोमेन पर) पोस्ट करने में सक्षम होना चाहता हूं।बाहरी फॉर्म

  • मैं बाहरी रूप के लिए वैध प्रमाणीकरण टोकन कैसे उत्पन्न करूं ताकि मेरा रेल ऐप इसे स्वीकार कर सके?
  • मान लीजिए कि मैं उपरोक्त प्रश्न का उत्तर कर सकता हूं - क्या यह काम करने के लिए मुझे कुछ और करने की ज़रूरत है? प्रामाणिकता टोकन के अलावा, बाकी का मुझे बहुत सरल लगता है ...

मदद के लिए धन्यवाद!

उत्तर

18

आप अपने रेल ऐप्लिकेशन के बाहर एक autenticity टोकन उत्पन्न नहीं कर सकते। आप क्या कर सकते हैं, disable the token protection केवल इस क्रिया के लिए है और पहले_फिल्टर के आधार पर एक कस्टम कार्यान्वयन का उपयोग करें।

skip_before_filter :verify_authenticity_token, :only => :my_action 
before_filter :verify_custom_authenticity_token, :only => :my_action 

def verify_custom_authenticity_token 
    # checks whether the request comes from a trusted source 
end 
+0

अच्छा। स्पष्टीकरण के लिए धन्यवाद! – neezer

2

तुम बस की तरह एक फ़िल्टर लगाकर चेक निकालने के हो सकते हैं:

skip_before_filter :verify_authenticity_token, :only => :action_name 
+0

क्या यह मेरे रेल ऐप पर पोस्ट करने वाले किसी को भी नहीं खोलता है? क्या यह एक सुरक्षा चिंता नहीं है? – neezer

+0

उदाहरण के लिए, आप जो भी अन्य सत्यापन तंत्र चाहते हैं उसे जोड़ सकते हैं (आईपी पता, जो भी हो)। – JRL