Как защитить файл при скачивании, если авторизация происходит через socketcluster?
У меня сайт работает полностью через websocket и использует библиотеку socketcluster, в том числе и авторизация проходит через нее. Из закрытой области нужно пользователям загружать pdf файлы и никто другой этого не должен иметь возможность делать, но мне не понятно как проверить прошел ли get запрос на скачивание файла от авторизованного пользователя, т.к. запрос я ловлю через express.js, а все данные авторизации инкапсулированы в socketcluster и как их объединить мне пока не очень понятно.
Генерируйте ссылку на скачивание, согласно авторизационным данным, которые вы кладете в authToken. Файл отдать на скачивание можно из закрытой папки по этим данным. Добавляйте к ссылке хэш юзера и кладите этот хэш в токен. Если запросили адрес на скачивание с токеном и токен есть (то есть юзер авторизован) - отдать файл, иначе 403.
Я тоже думал о таком решении, но хотелось бы оставить ссылку на скачивание чистой. Хотя если не найду более элегантного решения, то буду делать именно так