2012-06-13 20 views
14

द्वारा रेल-एपी प्रमाणीकरण मैं रेल-एपीआई मणि विशेष रूप से एपीआई-केवल एप्लिकेशन बनाने के लिए काम करना चाहता हूं। प्रमाणीकरण तंत्र प्रदान करने के लिए मैं प्रमाणीकृत_or_request_with_http_tokenRailscasts #352 में वर्णित विधि का उपयोग करना चाहता हूं, लेकिन यह विधि यहां गायब होने में है।हेडर के टोकन

क्या किसी के पास रेल-एपीआई मणि पर कोई अनुभव है?

पीएस मैं देख सकता हूं, लेकिन क्या यह उत्पादन तैयार है?

उत्तर

45

मैं रेल-एपीआई का उपयोग कर एक सेवा विकसित करने की प्रक्रिया में हूं। हमने अभी तक तैनात नहीं किया है, लेकिन उस समय के करीब हैं, और परीक्षण में कोई समस्या नहीं है। आपको किसी गैर-आवश्यक मॉड्यूल को शामिल करने की आवश्यकता है जिसे आप उपयोग करना चाहते हैं, क्योंकि रेल-एपीआई को नीचे छंटनी की जाती है। मैं ApplicationController में authenticate_or_request_with_http_token उपयोग कर रहा हूँ तो जैसे:

include ActionController::HttpAuthentication::Token::ControllerMethods 

def authenticate 
    authenticate_or_request_with_http_token do |token, options| 
    apiKey = ApiKey.where(auth_token: token).first 
    @current_user = apiKey.user if apiKey 
    end 
end 

तुम सिर्फ टोकन चाहते हैं, तो एक आसान विधि token_and_options है:

include ActionController::HttpAuthentication::Token 

def current_user 
    api_key = ApiKey.where(auth_token: token_and_options(request)).first 
    User.find(api_key.user_id) if api_key 
end 
+0

तो आपके परिप्रेक्ष्य से, ** रेल-एपीआई ** एपीआई बनाने के लिए आपको जो कुछ भी चाहिए, उसे शामिल करता है? – Anatoly

+0

केवल एक चीज जिसकी मुझे आवश्यकता थी और जो नहीं था वह एचटीपी प्रमाणीकरण मॉड्यूल था, जो शामिल करना बहुत आसान था। तो हाँ, इसमें काफी कुछ है। –

+0

कैशिंग रणनीतियों के बारे में क्या? क्या आपको वह सब कुछ चाहिए जो आपको चाहिए? – Anatoly

2

README से:

बेसिक, डाइजेस्ट और टोकन प्रमाणीकरण: रेल आउट-ऑफ-द-बॉक्स HTTP प्रमाणीकरण के तीन प्रकार के लिए समर्थन के साथ आता है।

तो, हाँ, यह उत्पादन तैयार है (यह अभी भी रेल के बाद भी है)। आपके द्वारा लिंक किया गया उदाहरण जाने का तरीका है (चाल केवल उस कार्य को शामिल करना है जिसे आपको एक्शन पैक से चाहिए)।

+0

आप कहते हैं कि यह उत्पादन के लिए तैयार है प्रलेखन के आधार पर, आप एक अनुभव है उत्पादन में इसका इस्तेमाल करने के लिए? – Anatoly

+0

यह रेल है, रेल उत्पादन तैयार है। आप पूरी चीज को लोड करने के बजाय सिर्फ एक मॉड्यूल भी शामिल कर रहे हैं। –

+0

आपने इस बिंदु को याद किया, मुझे रेल के साथ अच्छा अनुभव है और मैंने एपीआई बनाने के लिए रेल का उपयोग करने का फैसला किया है। ** रेल-एपीआई ** अभी तक अपरिपक्व कंकाल नहीं है (हमें रेल में खोदना चाहिए और उपयुक्त मॉड्यूल चुनना चाहिए), लेकिन मैं इसे बाद में उपयोग करने की उम्मीद कर रहा हूं – Anatoly

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