2017-10-09 17 views
6

Mam api, który używa jwt do uwierzytelniania. Używam tego api dla aplikacji vuejs. Próbuję wyświetlić obraz w aplikacji przy użyciuNagłówek autoryzacji w img src link

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

Ale api spodziewa Authorization nagłówek z jwt token w nim.

Czy mogę dodać nagłówki do żądania przeglądarki w ten sposób (odpowiedź na kilka pytań tutaj sprawiła, że ​​uwierzyłem, że nie jest to możliwe)?

Czy jest jakiś sposób obejścia tego (przy użyciu js), czy też powinienem zmienić samą api?

+0

Interfejs API powinien dostarczyć obraz jako zasób statyczny. Nie powinno to wymagać autoryzacji JWT. –

+2

@MaKobi To duże założenie dotyczące przypadku użycia. OP, niektóre związane z czytaniem i potencjalne rozwiązania w tym pytaniu: https://stackoverflow.com/questions/34096744/how-should-i-load-images-if-i-use-token- based-authentication – CodingIntrigue

+0

Potrzebuję autoryzacji jwt w przypadku obrazów, ponieważ są prywatne i tylko uwierzytelnieni użytkownicy powinni móc je wyświetlać. – Ragas

Odpowiedz

3

Nie można wykonywać uwierzytelniania na obrazach, które są bezpośrednio używane jako href w znaczniku img. Jeśli naprawdę chcesz tego typu uwierzytelniania na swoich obrazach, to lepiej je pobrać za pomocą ajax, a następnie umieścić w swoim html.

+0

Czy tak się dzieje? Jeśli tak, to można przyjąć tę odpowiedź. –

-2

trzeba użyć staciс poprawkę do img

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

lub trzeba uzyskać ścieżkę na serwerze i korzystać <img src= $ {pathInServer} />. Wszystko zależy od ustawień twojego serwera.

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

W backendach potwierdzasz JWT z queryparam.

+0

Ale twój token jest wysyłany w zwykłym tekście, prawda? –

Powiązane problemy