Задать вопрос
  • Как организовать выход с личного кабинета на сайте на всех устройствах?

    Machez
    @Machez
    Бу!
    Обычно на сервере хранят токены авторизации для каждого пользователя. А при выходе со всех устройств удаляют эти ключи по маске.

    Пример алгоритма с использованием Redis.

    1) При авторизации создается ключ вида auth:[user_id]:[token] = true. Токен - штука уникальная. Например md5(строка + соль).
    2) Этот самый token кладется в куку клиенту.
    3) Если у клиента есть есть кука с токеном и соответствующий ключ зарегистрирован в Redis - значит на данном устройстве клиент авторизован.
    4) При необходимости разлогинить человека на всех устройствах из Redis удаляются все ключи соответствующие маске auth:[user_id]:* и всё.
    Ответ написан
    8 комментариев