2017-10-09 159 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

但是你的令牌是以纯文本形式发送的,不是吗? –