AnitForgeryToken с веб-API в ASP.net 5

Я использую новые шаблоны ASP.net 5 Web Application и Web Api (я создал два отдельных приложения).

  • Приложение 1 будет одностраничным приложением (SPA) и получит данные из приложения 2.
  • Приложение 2 - это веб-интерфейс, оно будет передавать данные в приложение 1.

Ничего сумасшедшего в этом подходе пока нет. Когда я решил построить SPA, я отошел от того, что я традиционно делал с MVC. Но мне нравятся некоторые функции MVC, в частности защита AntiForgeryToken (безопасность очень важна для меня).

Я планирую загрузить исходную страницу индекса (приложение 1) через MVC (поэтому есть index.cshtml и контроллер). Затем запишите мой анти-фальшивый токен на страницу индекса, когда он будет доставлен клиенту. В этот момент Angular вступает во владение, и все мои вызовы будут поступать в приложение 2. Я собирался передавать AntiForgeryToken каждому вызову службы, чтобы его можно было проверить, НО у меня есть ощущение, что он не будет работать, потому что я сгенерировал его в приложении 1 (кто будет теперь ожидать этого) и приложение 2 не будет ничего об этом знать.

Подход изложен в моей ужасной схеме ниже:

введите описание изображения здесь

  1. Во-первых, верно ли мое предположение? - Я не смогу использовать AntiForgeryToken в веб-приложении, потому что это приложение не генерировало его?
  2. Во-вторых, это лучший подход для удаления MVC из уравнения в приложении 1, и вместо этого создать метод контроллера веб-API (в приложении 2), который сгенерирует мне токен на веб-API, тогда я смогу получить его и отслеживать что в Angular в приложении 1 - передать его каждому запросу, возвращающемуся к приложению 2?
  3. ИЛИ есть ли лучший способ (я использую Angular в конце концов)
  4. ИЛИ это просто бессмысленно?:-)

Спасибо за совет!

0 ответов

Другие вопросы по тегам