Сессии на Android

Есть сайт, бэкенд и фронтенд общаются через некое API. Когда пользователь авторизуется, на бэкенде создаётся сессия и фронтенд получает её идентификатор (в качестве куки или токена). Далее, во всех запросах фронтенд указывает этот идентификатор и бэкенд по нему определяет текущую сессию. В общем, всё стандартно.

Теперь я делаю приложение для этого сайта под android и, в силу моего малого опыта в данной сфере, возникло несколько вопросов.

  1. Логичным кажется использовать имеющуюся инфраструктуру, тот же API. Соответственно, пользователь авторизуется в приложении, на бэкенде создаётся сессия, приложение получает в ответе на запрос логина токен и сохраняет у себя где-то в файлах. Во всех последующих запросах этот токен добавляется. Рабочая ли это схема? Или на андройде используются другие подходы?

  2. Сессии к которым не обращаются какое-то время удаляются. Для сайта, это время небольшое (час), так как пользователь скорее всего просто закрыл браузер. Но приложение не должно так часто разлогиниваться. Решение - пометить на бэкенде такие сессии, как is_mobile и ставить им время устаревания, скажем в месяц. Стоит ли в таком случае периодически рефрешить токен?

  3. Браузерная сессия привязывается к IP и User-Agent. Мобильную к IP точно привязывать нельзя. Есть ли какие-то параметры к которым можно привязаться для пущей безопастности?


Ответы (0 шт):