Порядок такой:
1. Пользователь ввел логин и пароль, отправил их на сервер.
2. Если они верные, то на сервере генерируется некий случайный токен и записывается вместе с датой окончания (сейчас плюс время действия) в табличку с пользователями в некие поля token & token_expires.
3. Токен отдается в JSON обратно клиенту.
4. Клиент записывает этот токен куда-то на устройство и все запросы отсылает, приложив этот самый токен.
Если получен токен с истекшим сроком действия - клиент отправляется на окно авторизации для ввода логина и пароля, так?
Т.е. по сути этот тот же apikey, который хранится на устройстве, только он имеет срок действия?
т.е. при каждом вызове www.mysite.com/api/v1/login скрипт на сервере смотрит разницу (сейчас минус apikey_timestamp) и если она больше 10 мин то создает новый рандомный ApiKey?
Не совсем понял про "После получения 401 мы отправляем на сервеор для проделия аренды.", можно поподробнее?
Т.е. будет 2 авторизации на сервере: 1 по логину+паролю, 2ая по хешу логина и хешу пароля? Если я правильно понял, то не составит труда также достать эти хеши и получить доступ к серверу с помощью них.
1. Пользователь ввел логин и пароль, отправил их на сервер.
2. Если они верные, то на сервере генерируется некий случайный токен и записывается вместе с датой окончания (сейчас плюс время действия) в табличку с пользователями в некие поля token & token_expires.
3. Токен отдается в JSON обратно клиенту.
4. Клиент записывает этот токен куда-то на устройство и все запросы отсылает, приложив этот самый токен.
Если получен токен с истекшим сроком действия - клиент отправляется на окно авторизации для ввода логина и пароля, так?
Т.е. по сути этот тот же apikey, который хранится на устройстве, только он имеет срок действия?