Угловое печенье с .net Core - PullRequest
0 голосов
/ 16 октября 2018

У меня есть веб-интерфейс ядра asp.net и угловой интерфейс.Приложение отправляет сообщение в действие контроллера на веб-API и аутентифицирует пользователя.

Мой вопрос: как правильно вернуть файл cookie для аутентификации и в конечном итоге сохранить?Я нашел эту библиотеку cookie , которая, кажется, отлично подходит для моих целей.Вот некоторые более конкретные вопросы:

  • Какое имя должно иметь cookie?В порядке GUID?Я слышал о шифровании или просто идентификаторе сеанса.Файл cookie будет отправлен только по протоколу HTTPS
  • . Как мне создать файл cookie в ядре asp.net?Я получаю пароль от имени пользователя и просто аутентифицирую результаты с помощью сервера SQL, и я не хочу, чтобы пользователь входил в систему каждый раз
  • Как я могу получить cookie-файл из http-запроса post?Я использую httpClient для публикации на URL.Я знаю, как отправить его обратно, используя http-перехватчик с angular.

Спасибо, что нашли время даже прочитать этот длинный пост.

1 Ответ

0 голосов
/ 16 октября 2018

Прежде всего, я должен предупредить вас, что при работе с аутентификацией на основе файлов cookie может возникнуть множество проблем:

  • Из-за ограничений CORS ваше приложение должно быть размещено в том же домене, что и ваш веб.API
  • Для мобильных приложений этот подход к файлам cookie не будет работать вообще

Если вы согласны с этим, давайте приступим к решению ваших проблем:

  1. Даngx-cookie-service - неплохая библиотека.Я использовал его в некоторых сложных проектах
  2. Реализация собственного решения по аутентификации - непростая задача, потому что вам нужно правильно реализовать алгоритм хеширования, куки и управление сеансами (я предполагаю, что у вас будет веб-API с отслеживанием состояния, если выначните с проверки подлинности на основе файлов cookie), поэтому я рекомендую использовать IdentityServer - это действительно простая библиотека для быстрой реализации проверки подлинности.Для большинства проектов из коробки подходит настройка.Если вы использовали эту библиотеку, вам не нужно самостоятельно управлять файлами cookie.

Какое имя должен иметь файл cookie?

Не имеет значения

Как получить файл cookie с httpотправить запрос?

Cookies автоматически сохраняются браузером

Также, я нашел хороший пример реализации Angular + .NET Core Web API Cookie Based Auth здесь

...