Ruby on Rails - Как обращаться с устаревшими токенами доступа в универсальном устройстве? - PullRequest
2 голосов
/ 07 ноября 2011

Как определить, когда токены доступа пользователя устарели, и, таким образом, выйти из системы?

1 Ответ

4 голосов
/ 18 ноября 2011

Зачем тебе это? Существует опция timeoutable, которая позволяет отслеживать время ожидания сеанса. Я могу ошибаться, но токены - это ключи куки, которые успевают жить, и они отслеживаются браузером. Из устройства (крючки):

Каждый раз, когда устанавливается запись, мы проверяем, истекло ли время ее сессии или нет, основываясь на времени последнего запроса. Если это так, запись вышла из системы и перенаправлен на страницу входа. Кроме того, каждый раз, когда приходит запрос и запись установлена, мы устанавливаем время последнего запроса в пределах его области видимости проверьте время ожидания в следующем запросе.

---- ОБНОВЛЕНИЕ (чтобы не указывать в комментариях как его большой) ---

В большинстве случаев, когда вы используете зарегистрирован, нет никаких требований для получения аутентификации из внешних сервисов. Таким образом, в случаях, когда пользователь вошел в систему (т. Е. Присутствует файл cookie сеанса и сеанс действителен), и в то же время он выходит из внешнего сервиса, это означает, что он может использовать ваш сайт до истечения вашего сеанса, Опять же, внешний сервис используется, когда пользователь требует аутентификации. Таким образом, когда сессия истекла на вашем сайте, и пользователь, пытающийся войти в систему, используя внешнюю службу, он будет перенаправлен на внешний сайт, где он будет входить (или нет, если уже). Затем внешняя служба перенаправляет обратно на ваш сайт при условии обратного вызова (в большинстве случаев это путь / auth /: provider / callback), где ваш контроллер (или по умолчанию, предоставляемый devise) создаст, если потребуется, пользователя и сеанс для него.

...