हाँ, अब WebHDFS पहुँच OAuth2 के साथ सुरक्षित है। यह FIWARE में REST API को पूर्ववत करने के लिए सामान्य तंत्र का हिस्सा है, जो प्रमाणीकरण और प्रमाणीकरण करता है। आप अधिक जानकारी here पा सकते हैं।
सबसे पहले, आपको कॉसमॉस टोकन जेनरेटर को ओएथ 2 टोकन का अनुरोध करना होगा। यह एक सेवा है जो cosmos.lab.fiware.org:13000
में चल रही है। एक पासवर्ड आधारित अनुदान प्रकार के रूप में,
$ curl -k -X POST "https://cosmos.lab.fiware.org:13000/cosmos-auth/v1/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=password&[email protected]&password=xxxxxxxx"
{"access_token": "qjHPUcnW6leYAqr3Xw34DWLQlja0Ix", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "V2Wlk7aFCnElKlW9BOmRzGhBtqgR2z"}
आप देख सकते हैं, अपने FIWARE लैब साख पेलोड में आवश्यक हैं: तुम्हें पता है, सबसे आसान तरीका है कर्ल आदेश का उपयोग कर रहा है यह किसी भी बाकी क्लाइंट का उपयोग कर सकते हैं ।
एक बार एक्सेस टोकन मिल गया है (ऊपर दिए गए उदाहरण में, यह qjHPUcnW6leYAqr3Xw34DWLQlja0Ix
है), बस इसे उसी वेबएचडीएफएस अनुरोध में जोड़ें जो आप अतीत में कर रहे थे। टोकन X-Auth-Token
हैडर का उपयोग करके जोड़ा जाता है:
$ curl -X GET "http://cosmos.lab.fiware.org:14000/webhdfs/v1/user/frb/path/to/the/data?op=liststatus&user.name=frb" -H "X-Auth-Token: qjHPUcnW6leYAqr3Xw34DWLQlja0Ix"
{"FileStatuses":{"FileStatus":[...]}}
आप एक यादृच्छिक टोकन के माध्यम से ऊपर अनुरोध प्रयास करते हैं तो सर्वर टोकन वापस आ जाएगी मान्य नहीं है; ऐसा इसलिए है क्योंकि आपके पास ठीक ढंग से प्रमाणीकृत नहीं है:
$ curl -X GET "http://cosmos.lab.fiware.org:14000/webhdfs/v1/user/frb/path/tp/the/data?op=liststatus&user.name=frb" -H "X-Auth-Token: randomtoken93487345"
User token not authorized
उसी तरह, यदि कोई मान्य टोकन का उपयोग लेकिन एक और HDFS यूज़रस्पेस तक पहुँचने का प्रयास, आप एक ही जवाब मिल जाएगा; कि है, क्योंकि आप अधिकृत किसी भी HDFS यूज़रस्पेस उपयोग करने के लिए नहीं हैं, लेकिन एक आप के स्वामित्व:
$ curl -X GET "http://cosmos.lab.fiware.org:14000/webhdfs/v1/user/fgalan/path/tp/the/data?op=liststatus&user.name=fgalan" -H "X-Auth-Token: qjHPUcnW6leYAqr3Xw34DWLQlja0Ix"
User token not authorized
महत्वपूर्ण अपडेट:
गर्मियों 2016 से, cosmos.lab.fiware.org
अब और काम नहीं कर रहा है। इसके बजाए, क्लस्टर की एक जोड़ी, storage.cosmos.lab.fiware.org
और computing.cosmos.lab.fiware.org
स्थापित की गई है। कॉसमॉस के लेखक सर्वर के संबंध में, यह वर्तमान में computing.cosmos.lab.fiware.org
, पोर्ट टीसीपी/13000 में चलाया जाता है।
के लिए है (एक ओपनस्टैक हैडर) OAuth2 मानक में उपयोग किए गए शीर्षलेख का उपयोग करने के बजाय: 'प्राधिकरण'? –
हम बीच में FIWARE PEP प्रॉक्सी का उपयोग कर रहे हैं (https://github.com/ging/fi-ware-pep-proxy)। वह घटक दस्तावेज के इस टुकड़े में 'एक्स-ऑथ-टोकन' के उपयोग को निर्दिष्ट करता है: https://github.com/ging/fi-ware-pep-proxy#how-to-use। – frb
अब, यह समाधान काम नहीं कर रहे हैं :( – miguelbemartin