@triggerfinger

Как защитить API от использования третьими лицами?

Написал сервер авторизации на Ноде, который выполняет чисто это функцию для нескольких фронтенд приложений одновременно (JWT). Используется упрощенный вариант REST API, стандартный NodeJS набор: express, mongoose, jsonwebtoken, nodemailer и тп. Знаю, сейчас популярны разные сторонние сервисы, типо Auth0, разные serverless, GraphQL, Firebase и прочее, но интерес был сделать именно на экспрессе самому, так сказать потренироваться, ну и заодно там же у меня разные вспомогательные службы, вроде загрузки, обработке, обрезки картинок, типо CDN, и оттуда же я еще контент по JSON отправляю в мой CMS и фронтенд приложухи.

Вообщем вопрос в том, что роут http://api.example.com/signup, например, доступен для прямого обращения в браузере, правда только GET запрос пробовал, но в POSTMAN POST естественно тоже работает. Я сделал CORS, но он защищает только от потребления API непосредственно с других доменов. Т.е. чужой домен не может загрузить мое API напрямую, но что мешает вебмастеру сделать приложение серверное, которое будет посредником и запрашивать сначала мой API (и запрос пройдет, ведь запрос не подпадает под CORS), а потом отдавать его своему клиенту?
  • Вопрос задан
  • 462 просмотра
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
Думаю нужно использовать клиентские сертификаты https://habrahabr.ru/post/213741/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы