в контроллере home так:
[Authorize]public IActionResult GetFile()
{
return PhysicalFile("hosting/" + User.Identity.Name + "/" + Request.Form["filename"], "application/multipart-data", "filename");
}
но как скачать пользователю этот файл, если для авторизации надо jwt токен, который в localStorage и нужно с помощью js делать post запрос + токен в header кидать
есть вариант генерить уникальную ссылку на 5 минут, но как это сделать я не знаю
а чого токен не в куках?
Потому что в куки не пихают жвт
Потому что его передают отдельно в заголовке Authorization
Тому що передається в хедері авторизації і зберігають в стореджі
а чого йому тут цей токен гет запросом не передати
чтобы path в body передать (насколько мне известно, в get запросах нет body)
Можешь пояснить что конкретно ты не понимаешь?
каким способом это можно сделать
-
Есть такая практика, когда токен действительно устанавливают в куку, с целью обхода XSS атаки.
может тогда лучше сессию в куках держать?
Люди что только не придумают. Можно и сессию. Понятно что задание стейта jwt лишает его смысла. Но что важнее, смысл или безопасность? По мне так второе.
1. Краще замість + стрінгів робити через $"hosting/{User.Identity.Name}......." 2. Якщо ти вказуєш атрибут [Authorize] значить твій код очікує заголовок Authorization має бути у запиті. Рішення : прокидувати жсом цей токен у заголовку в цьому методі. Authorization: Bearer {вставити токен}
ну то есть сам по себе jwt не достаточно безопасен без костылей?
Можна. Теж буде відпрацьовувати аналогічно. Але на жсі жопно витягувати кукіси. Але немає нічого неможливого
можно мідлварю накодити що авторизація буде і без хедера відбуватись
Ничто не возможно уберечь от взлома. Но сам по себе jwt безопасен, если можно так сказать. Не безопасен именно способ его хранения.
"Ничто не возможно уберечь от взлома": Как узнать пароль администратора? Берём паяльник и администратора...
Не можна якщо ти явно схему вказуєш
Не, ну это думаю крайний случай)
Я б обмазався ще однією абстракцією над токеном
Генеруєш гуід і замість ьокена юзаєш гуід
Обсуждают сегодня