Добрый день!
Подскажите как скрыть публичный api, от общего доступа, что бы к нему имел доступ только мой сайт( приложение на express.js ). Возможно как то подписать его надо, или использовать сторонние сервисы?
Да, я думал про это.
Получается логика такая, кто то заходит на сайт и сервер ему выдается токен (jwt), при любом обращение к api проверяет этот токен, берет его из header, но потом пользователь хочет хочет войти, и логинется, и у меня настроена возможность выдавать ему новый токен, и также проверять его (что ему доступно), и получает еще один токен, так вот вопрос, это должны быть два разных токена и обрабатываться по разному?
node-oauth2-server - вот это мне может помочь?
делаешь так, что все запросы api должен принимать только при наличии определённого token-а в заголовке. если token отсутствует или неверен отправляешь назад ответ со статусом 401.
этот token клиент и сервер могут получать, например, через переменные окружения (чтобы не светить их в коде)