oAuth

2011-05-19 23 views
6

का उपयोग करके आराम से वेब सेवा को प्रमाणित करने के लिए मैं प्रत्येक अनुरोध के लिए रीस्टफुल वेब सेवा में प्रमाणीकरण करना चाहता हूं। मैंने वेबसाइट में ओथ के बारे में दायरा पढ़ा है। मुझे डेटाबेस में क्या स्टोर करना चाहिए या डेटाबेस के साथ जांचने के लिए टोकन कुंजी या एक्सेस कुंजी की आवश्यकता क्या है? मेरे पास वेब सर्विसेज कॉल करने के लिए आरईएसटी वेब सर्विसेज और एंड्रॉइड ऐप है। इसलिए, सेवा प्रदाता के रूप में वेब सेवा परोसा जाता है, उपयोगकर्ता लॉग इन उपयोगकर्ता और एंड्रॉइड एप्लिकेशन उपभोक्ता के रूप में ओथ साइट में वर्णन के रूप में है। तो,oAuth

 
GET /username/a.jpg HTTP/1.1 
Host: localhost:8080 
Authorization: OAuth realm="http://localhost/username/a.jpg", 
    oauth_consumer_key="dpf43f3p2l4k3l03", 
    oauth_token="nnch734d00sl2jdk", 
    oauth_nonce="kllo9940pd9333jh", 
    oauth_timestamp="1191242096", 
    oauth_signature_method="HMAC-SHA1", 
    oauth_version="1.0", 
    oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D" 

की तरह लेकिन सर्वर साइड जो वेब सेवा है से एंड्रॉयड से उपयोगकर्ता अनुरोध कैसे डाटाबेस के साथ जांच करने के लिए या जो कुंजी की जाँच करने के उपयोग होगा तो क्या होगा? क्या यह हस्ताक्षर है?

+0

क्या आप प्रत्येक अनुरोध के लिए पूर्ण प्रमाणीकरण करने के बारे में सोच रहे हैं, या ओएथ का उपयोग एक सत्र स्थापित करने के लिए करते हैं जिसका उपयोग अनुरोधों के बीच (ऐप के दायरे में) के बीच किया जाएगा? यह मायने रखता है क्योंकि ओथ काफी महंगा है और आरईएसटी * कई * अनुरोधों की आवश्यकता होती है। ओटीओएच, अनुरोध प्रति लेख ग्राहकों को सही प्राप्त करने और कई हमले मार्गों को हटाने के लिए आसान बनाता है; यह चीजों को संतुलित करने का मामला है ... –

उत्तर

4

http://oauth.net/core/1.0/ पर पढ़ें .. विशेष रूप से परिशिष्ट ए.2 के माध्यम से ए.4। यह "हैंडशेक" का वर्णन करता है जो तब होता है जब कोई सेवा पहुंच प्राप्त करने में विफल होती है, फिर उपयोगकर्ता को प्रमाणीकरण वेबसाइट पर रीडायरेक्ट करती है, फिर कॉलबैक यूआरएल पर वापस लौटा दी जाती है।

जैसा कि आपने पूछा था, ए.4 में, हाँ, सेवा तब हस्ताक्षर की जांच करती है और पहुंच टोकन के साथ जवाब देती है।