मैं रेल-एपीआई का उपयोग कर एक सेवा विकसित करने की प्रक्रिया में हूं। हमने अभी तक तैनात नहीं किया है, लेकिन उस समय के करीब हैं, और परीक्षण में कोई समस्या नहीं है। आपको किसी गैर-आवश्यक मॉड्यूल को शामिल करने की आवश्यकता है जिसे आप उपयोग करना चाहते हैं, क्योंकि रेल-एपीआई को नीचे छंटनी की जाती है। मैं 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
स्रोत
2012-07-02 19:27:48
तो आपके परिप्रेक्ष्य से, ** रेल-एपीआई ** एपीआई बनाने के लिए आपको जो कुछ भी चाहिए, उसे शामिल करता है? – Anatoly
केवल एक चीज जिसकी मुझे आवश्यकता थी और जो नहीं था वह एचटीपी प्रमाणीकरण मॉड्यूल था, जो शामिल करना बहुत आसान था। तो हाँ, इसमें काफी कुछ है। –
कैशिंग रणनीतियों के बारे में क्या? क्या आपको वह सब कुछ चाहिए जो आपको चाहिए? – Anatoly