Как вы реализуете аутентификацию в servicestack.net

#c# #security #authentication #servicestack

#c# #Безопасность #аутентификация #servicestack

Вопрос:

Я расследую servicestack.net — но это примеры и статьи, похоже, не охватывают аутентификацию — это что-то обрабатывается servicestack.net — и если да, то как?

В частности, я заинтересован в реализации поддержки для:

  • OAuth (таким образом, имея возможность проверять необработанный запрос и проверять его / извлекать соответствующую информацию о пользователе и связывать с запросом перед передачей его на servicestack.net для обработки).
  • Аутентификация на основе сеанса / cookie (что позволяет использовать Ajax-клиенты, у которых уже есть действительный ASP.Сетевая сессия, чтобы использовать это для аутентификации, вместо необходимости явно передавать данные для входа и пароля, чтобы получить токен сеанса, подходящий для отправки с последующими запросами).

Не мог бы кто-нибудь указать мне в направлении документации / примеров, которые демонстрируют аутентификацию / безопасность при использовании ServiceStack.Net framework.

Комментарии:

1. Пошаговый пример использования Facebook Auth с ServiceStack можно найти здесь ( buildclassifieds.com/2016/01/14/facebookauth )

Ответ №1:

Редактировать: Теперь в ServiceStack существует новая модель поставщика аутентификации со следующими встроенными поставщиками:

  • Учетные данные — Для аутентификации с использованием учетных данных имени пользователя / пароля. например, Form Auth
  • Базовая аутентификация — позволяет пользователям проходить аутентификацию с помощью базовой аутентификации
  • Twitter OAuth — Разрешить пользователям регистрироваться и проходить аутентификацию в Twitter
  • Facebook OAuth — Разрешить пользователям регистрироваться и проходить аутентификацию в Facebook

Новая модель поставщика аутентификации полностью необязательна и представляет собой библиотеку пользовательского уровня, построенную поверх существующих фильтров запросов / ответов ServiceStack.

Для получения дополнительной информации о том, как создать свой собственный, проверьте параметры аутентификации в ServiceStack в этом потоке.

https://groups.google.com/d/topic/servicestack/U3XH9h7T4K0/discussion

В принципе, вы можете использовать фильтры запросов для перехвата запроса или базовый класс для добавления общей логики проверки. Поток содержит примеры обоих вариантов.

В качестве альтернативы вы можете разместить ServiceStack вместе с другим ASP.NET веб-платформа, позволяющая использовать встроенный поставщик аутентификации и просто проверять действительный сеанс пользователя в ServiceStack с помощью фильтров запросов и файлов cookie.

Вот пример реализации базовой аутентификации HTTP с фильтрами запросов