2012-05-20 35 views
6

Ben bu kılavuzu takip: http://keystone.openstack.org/api_curl_examples.htmlopenstack token nasıl alınır ve doğrulanır?

ve ben ran tarafından geçerli bir belirteç var olduğu anlaşılmıştır:

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

ve döndürdü:

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

ama önümüzdeki birkaç geldiğinde Bu jetonu doğrulamak için bölümler, bu sihirli sayı ile karşılaştım: X-Auth-Token:999888777666. İlk başta, aldığım token olduğunu düşündüm ama yanılmışım. Hala numara geliyor nasıl hiçbir fikri

Ben bir şey kaçırmış olabilir düşünüyorum, bu yüzden openstack belgeleri (http://keystone.openstack.org/configuration.html ve http://docs.openstack.org/api/openstack-compute/programmer/content/) ilgili bölümleri okuyun ama.

herkes bu sihirli sayının anlamı nedir bana

  1. olmadığını açıklayabilirim yüzden openstack diğer bölümlerini yönetmek için bir çalışma belirteç alabilirsiniz bunun doğru değeri almak için nasıl
+0

Mümkün mü? kıvırmak değil ajax tarafından equesting ..? –

cevap

1

belirteci kendisi sonraki HTTP istekleri başlığındaki gidecek o kısmı, yani hangi dict["access"]["token"]["id"] içindedir

X-Auth-Token: 468da447bd1c4821bbc5def0498fd441 

999888777666 değeri, eğri örneği kılavuzundan gelir ve kesinlikle çalışmıyor.

Simgenin kendisinin değerine gelince, OpenStack hizmeti tarafından rastgele oluşturulur ve bakış açınızdan yararlı bilgiler içermemelidir.

(BTW, muhtemelen jetonları 24 saat boyunca geçerli olduğu için forumlara yapıştırmamalısınız ve belirtecin bir kopyasına sahip olan ve bilgi işlem uçbiriminize erişen herkes bunu taklit etmek için kullanabilir).

+0

Dediğin olmadığını söyledim. curl -H: Bu şekilde çalıştı "X-Auth-Token: 468da447bd1c4821bbc5def0498fd441" http: // url: 35357/v2.0/belirteçleri/468da447bd1c4821bbc5def0498fd441 ve 401 –

+0

HRM yetkilendirilmemiş got - ait evet kökeni Dokümanlarda 999 * jetonu pek bir şey ifade etmiyor. Http://keystone.openstack.org/api_curl_examples.html öğreticisinin,/tokens kaynağına erişmek için bir yönetici hesabına bağlamanız gerektiği ima edilmesine rağmen, yukarıdaki curl isteği çalışmalıdır. Jetonunuzla başka herhangi bir şeye erişebiliyor musunuz? örn. url: 35357/v2.0/kiracı –

+0

Daha çok deniyorum ama iyi haber yok –

7

Bu sihirli numara (string gerçekten) keystone.conf dosyanızda admin_token ayarıdır. keystone.conf içinde [DEFAULT] bölümünde

admin_token = abcd1234 

set altında yönetici işlemler için kullanmak yoksa kullanmak yoksa,

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

gibi bir şey görürsünüz, sen' ll, kiracı listesini almak için

[email protected]:~/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

Bir kiracıda yönetici rolüne sahip geçerli bir kullanıcı adınız varsa, bu kullanıcı adı ve şifreyi kullanarak geçici bir belirteç alındığını unutmayın. yönetici işlemlerine izin verecek. –

2

gibi bir şey görmek mevcut uygulamada, biz yönetici kimlik bilgileriyle kimlik doğrulaması ve belirteç kiracı listesini almak için geri döndü kullanın. Uygulama, kimlik doğrulama belirteci ile düzgün çalışıyor. Admin_token ile çalışabilir, ancak doğrulanmadım.kamu liman

  • Endpoint liman 35357 işaret - - yönetici liman
  • Eğer kastediyoruz örnekler görürseniz

    , uç noktalarının 2 tip

    1. Endpoint portu 5000 işaret kullanılır vardır

      Yönetici portuna isabet eden örneklerde "X-Auth-Token" başlığını admin_token olarak belirtmeniz gerekir (keystone.conf dosyasında belirtilen)