Как обслуживать защищенные изображения со статического сервера (CDN) - PullRequest
0 голосов
/ 19 октября 2019

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

Существует базовая авторизация JWT для клиентов. У этих клиентов есть изображения, но эти изображения должны быть частными (к ним может обращаться только пользователь, владеющий ими). ​​

Мои изображения предоставляются моим вторым сервером Node.js, который работает как CDN (кэширование, отсутствие заголовков и т. Д. ...)

Я думал об отправке моего JWT по URL-адресу следующим образом: http://static.example.com/image.jpg?token=jwtjwtjwtkwtjwt,, но мой JWT длинный и небезопасный, потому что если пользователь поделится URL-адресом изображения, он также поделится своимJWT.

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

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

, если вышеперечисленное не работает для вас, тогда вы можете создать API, который получает ваш токен и файл назначения и возвращает URLс коротким временем жизни для доступа к этому файлу.

0 голосов
/ 19 октября 2019

Разрешить заголовки и отправлять токены в заголовках ...

Или создавать динамические URL-адреса для ваших изображений при аутентификации пользователя с некоторым временем жизни URL-адреса (1 час и т. Д.). Образец: http://static.example.com/njafhiwe4ihyubwfejw вместо http://static.example.com/image.jpg.

...