Как защитить приложение AngularJS и Web Api

Я использую AngularJS с сервером ASP.NET Web Api. Мне кажется, что аутентификация стала ветерок? Или это слишком хорошо, чтобы быть правдой?

Поэтому я думаю об использовании аутентификации веб-Api "Индивидуальные учетные записи пользователей". И я думаю, что это все, что мне нужно. Пока каждый запрос аутентифицирован, и никто не может получить какие-либо данные, они не должны мне больше не нужно делать?

Или мне не хватает некоторых основных принципов безопасности?

Ответ 1

Когда дело доходит до обеспечения API, у вас есть два основных подхода

  1. Пешеходный подход. Это традиционный способ, когда вы используете стандартную форму для аутентификации пользователя, а затем устанавливаете cookie проверки подлинности формы. Все неавторизованные запросы заходят на страницу входа в систему. Если ваш API всегда поддерживается интерфейсом пользовательского интерфейса, войдите в этот метод с работой.
  2. Во-вторых, используется токен авторизации в заголовке запроса. После аутентификации пользователя он получает токен аутентификации, который он должен подключить к каждому последующему запросу в заголовке Authorize HTTP. Подробнее об этом читайте здесь. Индивидуальные учетные записи в ASP.NET Web API. Преимущество здесь в том, что вы можете открыть свой API, не требуя учетной записи.

Но помните, что при использовании второго подхода токен аутентификации должен храниться на стороне клиента, так как все последующие запросы требуют этого токена. Посмотрите на это сообщение в блоге Cookies vs Tokens. Получение права на использование с Angular.JS, чтобы понять, как работать с токеном.

Надеюсь, поможет.