2017-10-09 158 views
6

我有一個api,它使用jwt進行驗證。我正在使用這個API的vuejs應用程序。我想顯示使用img src鏈接中的授權標頭

<img src="my/api/link" /> 

在應用程序中的形象,但api預計Authorization頭,在它jwt token

我可以像這樣向瀏覽器請求添加標題(這裏回答幾個問題使我相信這是不可能的)?

有沒有辦法繞過它(使用js)還是我應該改變api本身?

+0

API應該將圖像作爲靜態資產提供。這不應該要求JWT授權。 –

+2

@MaKobi這是一個關於用例的重要假設。 OP,一些相關的閱讀和潛在的解決方案在這個問題:https://stackoverflow.com/questions/34096744/how-should-i-load-images-if-i-use-token-based-authentication – CodingIntrigue

+0

我需要jwt授權爲圖像,因爲它們是私人的,只有經過身份驗證的用戶應該能夠看到它們 – Ragas

回答

3

您無法對img標記中直接用作href的圖像執行身份驗證。如果你真的想在你的圖像上進行這種認證,最好使用ajax獲取它們,然後嵌入到你的html中。

+0

這仍然是這種情況?如果是的話,這個答案可以被接受。 –

-2

你需要使用staciс補丁到你的IMG

<img src="my/api/icon/my-icon.png" /> 

,或者你需要得到您的服務器的路徑,並使用<img src= $ {} pathInServer />。這一切都取決於您的服務器的設置。

0
<img src="/api/images/yourimage.jpg?token=here-your-token"> 

在後端從queryparam驗證JWT。

+0

但是你的令牌是以純文本形式發送的,不是嗎? –