Аутентификация — PHP Restful API — Как аутентифицировать клиентское приложение и пользователя

У меня есть собственный Restful API в php, который я хочу использовать через несколько клиентов:

  • CMS
  • Веб-сайт
  • приложение для iOS
  • Android-приложение

В настоящее время я аутентифицирую пользователя, используя форму входа в систему, которая отправляет учетные данные на сервер, который возвращает токен JWT.

Что я не уверен, так это как аутентифицировать клиентское приложение, которое будет использовать API. Например, как я могу определить, что вызовы API поступают из CMS? Нужно ли реализовывать какой-либо белый список клиентов, чтобы все 4 нижеуказанных клиента имели право использовать API и блокировали любые другие?

Мне нужна помощь, предложение или ссылки, чтобы понять лучшие решения для реализации таких вещей.

Спасибо,

Стив

2

Решение

Вы можете просто добавить тип устройства во время аутентификации. Для браузера это просто, как получить user-agent для других устройств добавьте еще один параметр, который добавляет тип устройства. Добавьте это устройство или user-agent при кодировании JWT. Это предполагает, что у вас есть несколько проблем с токенами для каждого устройства в отдельности. Если это не так, ищите заголовки пользовательских агентов и добавьте дополнительное промежуточное ПО в свое приложение для того же самого в Android или других приложениях. Надеюсь это поможет

0

Другие решения

Других решений пока нет …