Причина использования JWT вместо аутентификации Cookie для Web Api в ASP.NET Core - PullRequest
1 голос
/ 18 марта 2019

В соответствии с этой (на youtube) конференцией мы не должны использовать проверку подлинности Cookie для Web Api, поскольку в случае наличия нескольких серверов в одном домене существует возможность для атаки CSRF.

другой источник

Он говорит следующее: " мы должны вместо этого использовать токены на предъявителя JWT "

Как именно использование аутентификации токена JWT решает эту проблему?

EDIT

Это проливает больше света на происходящее.

Как я понимаю, есть два способа смягчения последствий CSRF:

  1. Положите токены в заголовок Authentication вместо cookie и сохраните токены в localStorage . Таким образом, они не привязываются, если отправлены какой-то мошеннической формой, как описано в статье выше. Токены JWT помещаются в заголовок Аутентификация ?

  2. Другой способ, как я понимаю, заключается в использовании скрытого поля ввода для добавления токена защиты от подделки. Это может быть легко включено в Razor и поддерживается в Angular. Но как насчет React? Таким образом, мы можем придерживаться стандартной проверки подлинности Cookie для Web Api? Можем ли мы сделать это в React? Есть ли пример?

А как насчет совместного использования доменов, как описано в статье выше? Есть ли риск, что другое приложение в общем домене получит токен аутентификации или cookie?

...