2017-08-06 188 views
0

我使用docker官方圖像在開發模式下測試Elasticsearch。如何在elasticsearch中執行令牌認證?

基本安裝基於X_pack和基本認證。

一切工作正常通過像進行卷曲:

curl -XPUT -u elastic:elasticpassword "http://localhost:9200/movies/movie/1" -d' 
{ 
    "title": "The Godfather", 
    "director": "Francis Ford Coppola", 
    "year": 1972, "user":"elastic", "password":"changeme" 
}' 

但是有執行令牌請求(與用戶名和密碼),然後用令牌查詢Elasticsearch的方式。而不是每次執行查詢時都必須指定用戶/密碼?

回答

0

docker映像中的默認X_Pack已啓用基本身份驗證。這是你正在使用的。同樣的標記是base64(user:password)。您可以使用http://base64encode.org生成相同的信息並輸入:。

在捲曲有兩種方法來調用基本驗證網址

curl -XPUT -u elastic:elasticpassword "http://localhost:9200/movies/movie/1" -d'' 

你已經使用

curl -H "Authorization: Basic ZWxhc3RpYzpjaGFuZ2VtZQ==" -XPUT "http://localhost:9200/movies/movie/1" -d'....' 

現在,如果你的問題是,在此再次將又一次,那麼你最好創建在您的bash配置文件中的別名,如下所示

alias curles = 'curl -u elastic:elasticpassword' 

之後,您可以呼叫您的逗號nds如下

curles -XPUT "http://localhost:9200/movies/movie/1" -d'' 
+0

謝謝,你提出的第二個捲曲正是我正在尋找的......但我仍然沒有得到你在哪裏/如何生成和發現的令牌:例如「ZWxhc3RpYzpjaGFuZ2VtZQ ==」 – Nicortn

+0

這是從網站http://base64encode.org/。輸入你的'用戶名:密碼',然後點擊編碼。你會得到這個值 –

+0

好吧,基本上它是一樣的方式....所以沒有辦法執行認證調用來生成與令牌關聯的認證會話?所以我可以簡單地依靠我的令牌 - >認證的會話,而不是每次調用發送憑據.... – Nicortn