Как реализовать авторизацию через api?

Привет!

Подскажите новичку: есть сервис, для которого пишется мобильное приложение. Есть API, через которое мобильное приложение будет взаимодействовать с сервисом. Каким образом сделать аутентификацию (то есть отдавать данные по API только авторизированным юзерам)?

Какие есть варианты у меня?

Генерировать токен при авторизации, отдавать его мобильному приложению, и мобильное приложение при запросе к сервису каждый раз будет передавать этот токен. Но вопрос как генерировать этот токен? То есть у него должно быть обратимое шифрование, чтобы, грубо говоря, я на стороне сервиса мог узнать ID пользователя по токену? Или генерировать токен рандомно и хранить его в базе?

Или есть ещё какие то способы более безопасной аутентификации пользователей через API ?
  • Вопрос задан
  • 2547 просмотров
Решения вопроса 2
zBit
@zBit
Full stack web developer
OAuth2.0 и обязательное использование защищённого соединения (SSL).
Ответ написан
Комментировать
Или генерировать токен рандомно и хранить его в базе?

Именно.

У пользователя есть некий ключ, он им подписывает свои запросы.

Например ключ qwerty, в запросе передается user_id (например метод getUserNameById), тогда подпись - некая хеш-функция от параметров и ключа, например sha1($key . $methodName . $userId)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы