После чего посетитель, когда хочет получить с сервера данные, например, свой профиль, вместе с запросом он передает Access токен, как на примере выше. Сервер, получив его проверяет, что он действительный (об этом чуть ниже), вычитывает полезные данные из него (тот же user_id) и, таким образом, может идентифицировать пользователя.
"Точнее когда пользователь попытается войти в систему, его не пустит, т.к. его Refresh токен уже будет неактуальным, и ему придется вводить логин и пароль. Только в этом случае злоумышленник потеряет контроль над чужой учетной записью."
Как работает система, если у пользователя несколько устройств? В вашем случае не только злоумышленник будет разлогинен, но и сессии пользователя на других устройствах.
"После того, как посетитель прошел авторизацию в нашей системе, указав свой логин и пароль" — это называется аутентификация, а не авторизация.
Мне не понятно два момента:
1) Зачем устанавливать время жизни для refresh, если он обновляется при обновлении access
2) Это запись refresh token в бд, а что делать если например я авторизовался через пк, а потом через телефон ?