2017-09-14 74 views
0

我是axios的新手,我試圖將我的elasticsearch雲與axios連接起來,得到:401未經授權。試圖用axios連接到elasticsearch

這裏是我的代碼在我vue.js:

axios.get('https://username:[email protected]:9243/elastictest/apps/_search?pretty',{ 
     params:{ 
      source: JSON.stringify(query), 
      source_content_type: 'application/json' , 

     }, 

     }).then(response =>this.skills =response.data.hits.hits); 

我不知道,我已經把我的用戶名和密碼?

如果您有任何想法或解決方案?

感謝您的幫助!

+0

您的elasticsearch在哪裏運行?在本地主機上,或像彈性雲一樣的SaaS? – IzumiSy

回答

0

我認爲,您的瀏覽器不尊重通過url傳遞的憑據。您可以通過設置the axios docs中列出的auth屬性,將驗證信息直接傳遞給您的配置對象(您也可以在其中定義參數)。

auth: { 
    username: 'username', 
    password: 'password' 
} 

請注意,您可能需要withCredentials參數設置爲true取決於你的目標後端的配置。由於此代碼看起來像直接從瀏覽器訪問elasticsearch實例,所以您應該知道,您的數據庫隨後會暴露給所有客戶端,並且驗證信息也可以從客戶端JavaScript讀取。這可能不是你想要的。