Использую библиотеку Тимона (tymon/jwt)
Версия php 7.4
Версия laravel 7.6.2
Ситуация в следующем. При успешной аутентификации нам в ответ приходит access_token, expire_in, type и прочее.
К примеру в конфиге jwt_ttl установлен 1 минута, а в ответе это будет expire_in: 60 секунд. По истечении этого времени токен становится "просроченным" и любой другой запрос требующий авторизации выплюнет 401. В моем понимании фронт при 401 должен постучаться на refresh. Но в данной библиотеке refresh возможен только действительного токена а не просроченного.
В стандартной схеме есть еще refresh_token и у него свой expire и при обновлении передается так же и он и генерируется новый в случае неудачи 401.
Есть там еще параметр refresh_ttl но это как я понимаю период в течении которого можно осуществлять обновление токена.
Получается, что каждый раз при запросе нужно обновлять токен ?
по идее тебе нужно установить refresh_ttl > ttl Refresh time to live - refresh_ttl This is the length of time, in minutes, that you can refresh a token within. For example, if you set this to 2 weeks, then you will only be able to refresh the same chain of tokens for a maximum of 2 weeks before the token will be 'un-refreshable' and the result will always be a TokenExpiredException. So after this time has passed, a brand new token must be generated, and usually that means the user has to login again.
Обсуждают сегодня