Обзор
Я разрабатываю мобильное приложение, использующее PhoneGap с REST API для бэкэнд. API REST не будет использоваться сторонними разработчиками, но будет специфичным для приложения, поэтому нет необходимости в выполнении oAuth. Следовательно, я планирую использовать базовую аутентификацию, в которой пользователь вводит свое имя пользователя/пароль для доступа к ресурсам API. Все сообщения API будут на SSL.
Основная аутентификация с помощью токена
Вместо того, чтобы позволить приложению хранить имя пользователя/пароль и отправлять его с каждым запросом API, я бы скорее аутентифицировал имя пользователя/пароль в первом запросе на вход и отправил маркер GUID обратно. Клиент сохраняет этот токен GUID и отправляет маркер обратно в API с каждым запросом через заголовок авторизации, например:
Авторизация: Basic e1d9753f-a508-46cc-a428-1787595d63e4
На стороне сервера комбинация имени пользователя /GUID будет храниться на сервере с датой истечения срока действия вместе с настройками устройства. Это позволит отслеживать количество устройств, в которые пользователь вошел в систему, а также истекает сеанс после истечения срока действия Guid.
Является ли этот подход разумным и безопасным?