Что делать с токеном при авторизации в мобильном приложении?
Есть мобильное приложение на iOS.
Есть авторизация, на сервер приходит захэшированный пароль + логин пользователя.
Происходит проверка хэша пароля со значением в базе, если все ок - пользователь авторизуется.
По идее, необходимо отдавать JWT или просто какой-то токен в ответ на успешную авторизацию. Однако, по сути, токен имеет свойство истекать (или я тут ошибаюсь?), а суть мобильного приложения в том - чтобы пользователь залогинился лишь один раз и больше не думал об этом. Что делать в такой ситуации?
Надо отдавать JWT-токен. У него есть такое понятие, как время жизни - после истечения которого токен перестанет быть валидным. Это правильно с точки зрения безопасности.
Как это можно решить. Для этого можно использовать такое понятие как refresh token. Т.е. отдаете совместно с JWT еще и Refresh Token, ассоциированный с JWT (к примеру, сохраненный в БД). По данному refresh token-у можно перезапросить новый токен для данного пользователя и спокойно работать дальше.