Я рассматривал, как мы должны обрабатывать аутентификацию OAuth в нашем браузере (SPA), и есть целая куча статей, которая делает все это действительно запутанным ... Я действительно пропуская что-то конкретное и лучшее руководство для очень простой установки.Приложения для браузера и токены аутентификации
У нас есть этот ASP.NET Web API 2, который защищен с помощью токенов, выпущенных IdSvr3. Все идет нормально. Работает с собственными клиентами и серверными приложениями.
Теперь в браузер ... Посмотрите на образец, например JavaScriptImplicitClient, который использует библиотеку oidc-client-js для извлечения токенов с использованием неявного потока. Токен хранится в браузере, который доступен с помощью JavaScript и там открыт для атак XSS. Чтобы избежать этого, предложения указывают на сохранение токена в файле cookie и затем настройку механизма предотвращения атак CSRF.
Кажется простым, но что устанавливает этот файл cookie?
Действительно ли это IdSvr? Не имеет смысла, так как это API, которому нужен файл cookie.
Это API? Во время входа Implicit Flow пользователь перенаправляется в API, который устанавливает сеанс, а затем перенаправляет пользователя обратно в SPA с заголовком Set-Cookie? Затем файл cookie будет присутствовать в API при последующих запросах.
Третье решение? Некоторые упоминают создание второго «API», который проксирует запросы к «реальному» API, но устанавливает заголовок auth.
Есть ли у вас образцы такой установки, или вы можете дать некоторые подсказки о том, как вы это сделаете?
Большое спасибо за ваш комментарий. Ваш ответ, который вы связали, был очень информативным. Вы должны превратить это в сообщение в блоге. Я искал что-то, что ясно выражает, но также делает заключение с их мнением. –