Это плохо для передачи токена JWT как часть URL? - PullRequest
0 голосов
/ 23 мая 2019

Привет, в настоящее время у меня есть угловое приложение и Java-бэкэнд.В моем угловом компоненте HTML у меня есть некоторые изображения, такие как фотографии профиля.ресурс, который обслуживает файлы изображений, защищен с помощью Spring Security.так что мой вопрос: плохо ли добавлять веб-токены json как часть URL-адреса изображения?это может вызвать нарушение безопасности?Это плохая практика?

Вот как выглядит мой угловой код из инструмента разработчика Chrome.

<div _ngcontent-c5="" class="avatar-circle bg-secondary text-brand-secondary" ng-reflect-klass="avatar-circle" ng-reflect-ng-class="bg-secondary,text-brand-second" style="background-image: url(&quot;http://localhost:8080/api/files/4eb81fa8-9c5d-4920-b0f5-c9239fb1cae7?access_token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJnbG9iYWxhZG1pbkBsb2NhbGhvc3QiLCJhdXRoIjoiUk9MRV9HTE9CQUxfQURNSU4iLCJleHAiOjE1NjExOTkwNTh9.UFvdgZNxs_O1uTjtUh64ko3A47R2fxZxYFX0aXv2Jp_TkVrmlBT1mzN40JwclGk3m0sCZONKbnVhgXXKy69DfQ&quot;);">
  <!--bindings={
  "ng-reflect-ng-if": "false"
}-->
</div>

любая помощь приветствуется.Я хотел бы передать access_token как часть заголовка запроса HTTP get, но я не мог найти правильный код в любом месте.любая помощь приветствуется.

1 Ответ

1 голос
/ 23 мая 2019

В зависимости от изображения вы можете сделать его общедоступным или рассмотреть другой способ отправки токена на сервер (файл cookie может помочь).

Может ли это вызватьбрешь в безопасности?Это плохая практика?

Как уже упоминалось в моем предыдущем ответе , токены JWT являются URL-безопасными, когда речь идет о их синтаксисе .Вот цитата из RFC 7519 :

JWT представляется в виде последовательности URL-безопасных частей, разделенных точками (.).Каждая часть содержит значение в кодировке base64url.[...]

Однако при использовании JWT в качестве маркеров-носителей рекомендуется избегать отправки их в URL-адресе.См. Следующую цитату из RFC 6750 :

Не передавать токены канала-носителя в URL-адресах страниц: токены канала-носителя НЕ ДОЛЖНЫ передаваться в URL-адресах страниц (например, как строка запросапараметры).

Вместо этого токены канала-носителя ДОЛЖНЫ передаваться в заголовках HTTP-сообщений или телах сообщений, для которых принимаются меры по обеспечению конфиденциальности.

Браузеры, веб-серверы и другое программное обеспечение могут недостаточно защищать URL-адреса в истории браузера, журналах веб-сервера и других структурах данных.Если токены на предъявителя передаются в URL-адресах страниц, злоумышленники могут украсть их из исторических данных, журналов или других незащищенных мест.

...