2012-05-20 32 views
6

मैं इस गाइड का पालन किया: http://keystone.openstack.org/api_curl_examples.htmlओपनस्टैक टोकन कैसे प्राप्त करें और इसे सत्यापित करें?

और ऐसा लग रहा था कि मैं भाग गया द्वारा एक मान्य टोकन मिला:

curl -d '{"auth":{"passwordCredentials":{"username": "can", "password": "mypassword"}}}' -H "Content-type: application/json" http://url:35357/v2.0/tokens 

और यह दिखाई:

{ 
"access": 
{ 
    "token": 
    { 
     "expires": "2012-05-21T14:35:17Z", 
     "id": "468da447bd1c4821bbc5def0498fd441" 
    }, 
    "serviceCatalog": {}, 
    "user": 
    { 
     "username": "can", 
     "roles_links": [], 
     "id": "bb6d3a09ad0c4924bf20c1a32ccb5781", 
     "roles": [], 
     "name": "can" 
    } 
} 
} 

लेकिन जब मैं अगले कुछ के लिए आया था इस टोकन को सत्यापित करने के लिए अनुभाग, मुझे इस जादू संख्या का सामना करना पड़ा: X-Auth-Token:999888777666पहले मैंने सोचा कि यह टोकन मुझे मिला है लेकिन मैं गलत था।

मुझे पता नहीं कैसे नंबर से आता है लगता है कि मैं कुछ चूक गए हों, तो मैं ओपनस्टैक दस्तावेजों (http://keystone.openstack.org/configuration.html और http://docs.openstack.org/api/openstack-compute/programmer/content/) में संबंधित अनुभागों को पढ़ें, लेकिन अभी भी।

किसी को भी है कि जादुई संख्या के अर्थ क्या मुझे

  1. को समझा सकता है
  2. कैसे इसके बारे में सही मूल्य प्राप्त करने के तो मैं ओपनस्टैक के अन्य भागों के प्रबंधन के लिए एक टोकन काम कर प्राप्त कर सकते हैं
+0

क्या यह संभव है AJAX द्वारा घुमावदार curl द्वारा equesting ..? –

उत्तर

1

टोकन ही dict["access"]["token"]["id"] में है जो कि बात यह है कि बाद में HTTP अनुरोध के शीर्षक में जाना होगा, यानी है

X-Auth-Token: 468da447bd1c4821bbc5def0498fd441 

मूल्य 999888777666 कर्ल उदाहरण ट्यूटोरियल से है और निश्चित रूप से काम नहीं करेगा।

टोकन के मूल्य के रूप में, यह ओपनस्टैक सेवा द्वारा यादृच्छिक रूप से जेनरेट किया गया है और इसमें आपके दृष्टिकोण से कोई उपयोगी जानकारी नहीं होनी चाहिए।

(बीटीडब्लू, आपको संभवतः टोकन को फ़ोरम में चिपकाना नहीं चाहिए क्योंकि वे 24 घंटों के लिए मान्य हैं और टोकन की प्रतिलिपि वाले किसी भी व्यक्ति और आपके गणना समापन बिंदु तक पहुंचने से इसका उपयोग करने के लिए इसका उपयोग किया जा सकता है)।

+0

मैंने कहा कि यह टोकन नहीं है। कर्ल एच: मैं इस तरह से करने की कोशिश की "एक्स-प्रमाणीकरण-टोकन: 468da447bd1c4821bbc5def0498fd441" http: // यूआरएल: 35,357/v2.0/टोकन/468da447bd1c4821bbc5def0498fd441 और एक 401 –

+0

मानव संसाधन विकास मंत्री के लिए अधिकृत नहीं किया गया - की हाँ मूल 99 9 * टोकन दस्तावेज़ों में बहुत अधिक समझ नहीं लेता है। उपरोक्त कर्ल अनुरोध काम करना चाहिए, हालांकि http://keystone.openstack.org/api_curl_examples.html ट्यूटोरियल का अर्थ यह है कि आपको/टोकन संसाधन तक पहुंचने के लिए किसी व्यवस्थापक खाते से कनेक्ट होना चाहिए। क्या आप अपने टोकन के साथ किसी अन्य चीज तक पहुंच सकते हैं? उदाहरण के लिए यूआरएल: 35357/v2.0/किरायेदारों –

+0

मैं और अधिक कोशिश कर रहा हूं लेकिन कोई अच्छी खबर नहीं –

7

वह जादू संख्या (वास्तव में स्ट्रिंग) आपके keystone.conf फ़ाइल में admin_token सेटिंग है। keystone.conf में [DEFAULT] अनुभाग

admin_token = abcd1234 

सेट के तहत आप व्यवस्थापक कार्यों के लिए उसका उपयोग नहीं करते हैं, तो आप आप इसका इस्तेमाल करते हैं जैसे

[email protected]:~/devstack$ curl http://localhost:35357/v2.0/tenants 
{"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Not Authorized"}} 

कुछ दिखाई देगा, आप ' ll की तरह

[email protected]4bc:~/devstack$ curl -H "X-Auth-Token: abcd1234" http://localhost:35357/v2.0/tenants 
{"tenants_links": [], "tenants": [{"enabled": true, "description": null, "name": "demo", "id": "aee8a46babcb4e4286021c8f6ef996cd"}, {"enabled": true, "description": null, "name": "invisible_to_admin", "id": "de17fea45de148ada0a58e998e6c3e73"}, {"enabled": true, "description": null, "name": "admin", "id": "f34b0c8ab30e450489b121fbe723fde5"}, {"enabled": true, "description": null, "name": "service", "id": "fbe3e2e530fd47298cb2cba1b4afa3da"}]} 
+2

ध्यान दें कि यदि आपके पास किरायेदार में व्यवस्थापक भूमिका के साथ एक वैध उपयोगकर्ता नाम है, तो आप एक अस्थायी टोकन पुनर्प्राप्त करने के लिए उस उपयोगकर्ता नाम और पासवर्ड का उपयोग कर सकते हैं व्यवस्थापक कार्यों की अनुमति देगा। –

2

किरायेदारों की सूची प्राप्त करने के लिए कुछ देखते हैं, हमारे वर्तमान कार्यान्वयन में, हम व्यवस्थापक क्रेडेंशियल के साथ प्रमाणित और प्रयोग टोकन किरायेदारों की सूची प्राप्त करने लौट आए। कार्यान्वयन प्रमाणीकरण टोकन के साथ चिकनी काम करता है। यह admin_token के साथ काम कर सकता है लेकिन मैंने सत्यापित नहीं किया है।सार्वजनिक बंदरगाह

  • Endpoint बंदरगाह 35,357 की ओर इशारा करते - - व्यवस्थापक बंदरगाह
  • आप उदाहरण आप बात कर रहे हैं देखते हैं, वहाँ अंतिमबिंदुओं के 2 प्रकार

    1. Endpoint बंदरगाह 5000 को इशारा किया जाता है

      उदाहरणों में जो व्यवस्थापक पोर्ट को मार रहे हैं, आपको "एक्स-ऑथ-टोकन" हेडर को admin_token (keystone.conf फ़ाइल में निर्दिष्ट) के रूप में निर्दिष्ट करने की आवश्यकता होगी