Я пытаюсь разработать лучший способ обработки аутентификации пользователей для моего мобильного приложения (iOS и Android) и API (PHP).
Из того, что я исследовал, есть следующие варианты:
Basic auth over HTTPS - Проверьте имя пользователя/пароль пользователя для каждого запроса.
Сессии - отправка идентификатора сеанса с каждым запросом; сервер поддерживает состояние. Таким образом, приложение отправляет имя пользователя/пароль и серверные проверки для зарегистрированного пользователя при последующих запросах, как и мой сайт.
API-токены - мобильное приложение отправляет имя пользователя/пароль и получает токен обратно, а затем добавляет его к последующим запросам. Токен хранится в БД и проверяется по каждому запросу.
Я предполагаю, что мое объяснение токенов API неверно, поскольку они кажутся идентичными сеансам, потому что я храню идентификатор сеанса в БД.
- Мое объяснение токенов API будет исправлено. Для чего они? Как они отличаются от идентификаторов сеансов?
- В чем преимущества API-токенов?
- Является ли oAuth (если мы хотим упростить его использование) только протокол для создания "токенов API"?