2016-08-12 3 views
1

Мне любопытно узнать, как и как можно было бы полностью отделить приложение sailsJS от View Layer. То есть не управлять шаблонами, представлениями, JS на стороне клиента и активами таким образом, чтобы это сочеталось с тем, что в нашем случае означает только API RESTful. Я хочу попытаться развернуть два отдельных репозитория, которым не нужно знать, как другие работают, которые взаимодействуют друг с другом по запросам.SailsJS View Layer Separation with CSRF

Я знаю о опции sails new <apiName> --no-frontend, но я также хотел бы включить токены CSRF на мои формы, которые не делают этого в предлагаемом методе ejs с помощью <input type='hidden' name='_csrf' value='<%= _csrf %>'>.

Было бы возможно и рекомендовано для моего случая разоблачить конечную точку, которая строго связана с предоставлением и проверкой токенов csrf на моем sailsJS-сервере?

ответ

2

Вы можете просто отказаться от всего, что связано с интерфейсом (--no-frontend - хороший старт). Ключи csrf и GET /csrfToken все еще существуют, если вы не создаете интерфейсный модуль, но паруса потребуют параметр _csrf всякий раз, когда вы используете POST, PUT и т. Д., Если включен CSRF-крючок.

В вашем приложении парусов, всякий раз, когда вы обрабатываете маршрут, вам не нужно возвращать res.view() или res.render(); вы можете вернуть res.json() или что-нибудь в этом роде.

Например, мы используем gulp для управления нашими активами отдельно от парусов; так что паруса обрабатывают только запросы API, а не статические файлы или рендеринг.

+0

Спасибо, я просто не знал, что есть маршрут для токенов csrf. –