Learnapidoc-ru/authentication-and-authorization.md at master · docops-hq/learnapidoc-ru · github

Что документируется в разделе аутентификации

Внешним пользователям не требуется подробное объяснение того, как функционирует аутентификация в документации API. Внутренние процедуры аутентификации также не объясняются.

Тем не менее необходимо объяснить необходимую информацию

  • Как получить ключ API,
  • Как аутентифицировать запрос,
  • Сообщения об ошибках, связанных с неправильной аутентификацией,
  • Чувствительность аутентификационной информации,
  • Срок действия маркера доступа (маркера авторизации).

Если присутствуют открытые и закрытые ключи, их местонахождение должно быть раскрыто. Если различные уровни лицензии предоставляют различные уровни доступа к вызовам API, эта информация должна быть указана в другом месте, например, в разделе авторизации.

Прежде чем начать использовать API, разработчики должны прочитать раздел о ключах API.

Hmac (код авторизации сообщений на основе хэша)

Термин “H MAC” относится к более строгой форме аутентификации, чем финансовый API. Он расшифровывается как код авторизации сообщений на основе хэша. Секретный ключ известен только отправителю, получателю и почтовому агенту.

Затем используется безопасный алгоритм хэширования (SHA) для шифрования сообщения с помощью секретного ключа. Зашифрованная строка, которая подвергается хешированию, используется алгоритмами для создания кода. Результат, известный как подпись запроса (рисунок), добавляется в заголовок ответа.

Тот же запрос отправляется на сервер API (получатель), а

Следующая схема иллюстрирует процедуру авторизации HMAC:

Очень важно, чтобы только отправитель и получатель знали секретный ключ, который необходим для восстановления хэша. Запрос не содержит секретного ключа. Когда необходимо убедиться, что запрос настоящий и не может быть подделан, используется защита HMAC.

Amazon web services

Авторизация амазон

Использование HMAC – это Amazon. Включение всеобъемлющей диаграммы было бы очень сложным процессом.

Basic auth

Basic Auth – это название альтернативного типа авторизации. В этом случае отправитель включает в заголовок запроса дуэт имя пользователя:пароль. Для шифрования имени пользователя и пароля используется метод Base64, который представляет собой способ преобразования имени человека в набор из 64 символов для обеспечения безопасной передачи. В заголовке запроса Basic Auth указывается следующая нотация:

Dropbox

Разрешение в Dropbox

Internet explorer

Поскольку этот браузер не поддерживается нашим продуктом, я лично не пробовал это решение. Однако Google утверждает, что для этого есть исправление. Однако я не встречал никаких доказательств того, что это исправление для браузеров Microsoft больше не требуется:

if (document.execCommand("ClearAuthenticationCache")) {
    window.location.assign(url);
}


В IE существует метод ClearAuthenticationCache, который сбрасывает «те самые глубинные недра». Просто и элегантно. И никаких плясок со вспомогательной страницей 401. Работает ли данный метод в Edge, не знаю. Скорее всего да.

Аутентификация и авторизация

Слово “auth” – это аббревиатура аутентификации.

Я использую аналогию с миром Unix. Вход в систему с использованием имени пользователя и пароля – это аутентификация. Разрешение на чтение, запись и выполнение в файле или каталоге называется авторизацией.

Поскольку аутентификация является более фундаментальной концепцией и требует процесса проверки, мы сосредоточимся на ней в этом разделе. Настройка системы авторизации проекта обычно занимает не более нескольких минут после того, как на сервере будет установлен механизм аутентификации (и это может сделать любой человек).

Глава 4. аутентификация, часть 1

Техника, позволяющая обойти недостаток общих учетных данных, – это аутентификация с использованием PI-ключа, для которой необходим доступ к специальному ключу. Этот ключ, который отличается от пароля входа владельца учетной записи, представляет собой длинную строку букв и цифр. Как гость, владелец отеля передает клиенту ключ от одного номера.

Когда клиент аутентифицируется с помощью ключа API, сервер знает, что клиенту может быть предоставлен доступ к данным, и может наложить ограничения на административные задачи. Иногда ключи используются просто для того, чтобы не раскрывать пароль. Аутентификация пользователя предлагает аутентификацию по API-ключу.

Где я могу найти ключ API? Присутствует ли также этот заголовок? К сожалению, нет. На заре Интернета несколько компаний создали базовые элементы Auth. Аутентификация API напоминает дикость американского Запада.

Однако со временем появилось несколько общих подходов. Один из них заключается в том, чтобы клиент поместил ключ в заголовок Авторизации вместо имени пользователя и пароля. Другой — добавить ключ в URL-адрес (http://example.com? api_key=my_secret_key ). Реже ключ закапывают где-нибудь в теле запроса рядом с данными. Куда бы ни пошел ключ, эффект будет одинаковым — он позволяет серверу аутентифицировать клиента.

Когда стоит использовать basic auth


По мне, ее стоит применять в двух случаях.

Когда создание

В прямом администрировании, как в примере с целевой страницей, приведенном выше.

Образцы разделов авторизации

В документации API упоминаются несколько иллюстраций авторизации.

Определяем термины

Во-вторых, давайте определим несколько ключевых слов.

  • Аутентификация: проверка личности
  • Авторизация: разрешение на определенное действие.

A PI может аутентифицировать, но не позволит вам сделать определенный тип запроса.

Аутентификация и авторизация

Плюсы и минусы базовой аутентификации


Из плюсов: простота и нативность реализации. Делается парой команд и обеспечивается средствами браузера.

Разные виды авторизации

Существуют различные методы авторизации. На этой странице мы рассмотрим несколько наиболее популярных вариантов авторизации:

👨‍💻 практическое занятие: авторизация

Мы можем найти подробности об авторизации запросов к API в вашем операционном проекте. Ответьте на следующие запросы:

  • Какой тип авторизации необходим для отправки запросов к API?
  • Существуют ли различные уровни доступа в рамках авторизации (например, платный и бесплатный), которые определяют количество запросов, которые могут быть сделаны, или типы информации, которые могут быть получены?
  • Возможно ли получить ключ API или другой способ авторизации, необходимый для выполнения тестовых вызовов API?
  • Как информация об авторизации включена в раздел “Начало работы”?

Go next ➡

Sendgrid

API ключ SendGrid

SendGrid подробно объясняет ключи API, начиная с определения того, что такое ключи API. Контекстный раздел API содержит дополнительные разделы управления учетными записями.

Похожее:  Мобильное приложение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *