Подтвердить что ты не робот

Авторизация и аутентификация веб-API ASP.NET

Я пытаюсь создать безопасный asp.net web api. Вы можете найти множество способов защитить ваш API, но я хочу знать, что является лучшим способом или "отраслевым стандартом" для реализации этого для моего случая.

Это мои требования - API будет использоваться небольшим количеством сторонних разработчиков для веб-сайтов/мобильных приложений и т.д. - Разработчикам, которые хотят использовать этот API, должен быть предоставлен ключ для доступа к API (авторизация) - Пользователи (посетители/потребители) должны войти в сторонние приложения, чтобы просмотреть их персонализированную информацию. - API будет использовать базу данных членства ASP для управления/аутентификации пользователей.

Я знаю, что можно использовать HTTP-аутентификацию для аутентификации пользователей, но как я могу реализовать часть авторизации API?

Является ли OAuth 2.0 решением?

4b9b3361

Ответ 1

Существует очень хорошая статья, описывающая аутентификацию/авторизацию с помощью токена/ключа:

В нем также описаны некоторые другие рекомендации по безопасности веб-API ASP.NET.

Ответ 2

Я также предложил бы использовать библиотеку Thinktecture.IndentityModel.40, которая может поддерживать следующее:

Base

  • кодировка Base64Url
  • Эпоха Дата Время преобразования
  • Генерация случайных чисел
  • Сравнение строк по времени

Претензии

  • Анонимные претензии Главная
  • Заявка на подтверждение подлинности
  • Авторизация на основе претензий

Constant

  • Полезные константы при работе с алгоритмами, форматами даты, JWT, SWT, WS-Security и WS-Trust.

Методы расширения

  • XML (от и до XmlReader, XmlDocument, XDocument)
  • WS-Trust RSTR
  • Преобразование токенов безопасности
  • Сертификаты X.509