Почему я не вижу загрузчика, когда обновляю такие страницы, как Facebook? - PullRequest
0 голосов
/ 05 января 2019

Я хочу спросить вас, как сайты, такие как Facebook и т. Д., Обрабатывают аутентификацию пользователей при обновлении страницы? Интересно, почему я не вижу загрузчика, когда обновляю страницу и нахожусь на защищенном маршруте (например, в настройках моего профиля).

При создании приложения я использую следующий процесс аутентификации:

  1. Загрузить приложение
  2. Показывать загрузчик процесса аутентификации пользователю.
  3. Получить маркер сеанса пользователя из файла cookie.
  4. Отправить запрос аутентификации с токеном на сервер.
  5. Проверка токена на бэкэнде.
  6. Отправьте клиенту ответ с кодом состояния 200, если токен действителен, или кодом состояния 401, если токен недействителен.
  7. Получите ответ на стороне клиента и скройте загрузчик.
  8. Показать защищенный маршрут для пользователя, если он аутентифицирован, или перенаправить на страницу входа, когда он не аутентифицирован.

Так что при таком потоке первоначальный загрузчик является необходимостью, как Facebook может пропустить это?

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Я понял это. Это возможно, потому что аутентификация может быть выполнена на стороне сервера, используя куки. Они проверяют токен пользователя, когда пользователь заходит на страницу, и после этого отображают требуемую версию страницы (различную для аутентифицированного пользователя и различную для не аутентифицированного пользователя).

0 голосов
/ 05 января 2019

и добро пожаловать в переполнение стека.

Я не уверен, что ваш вопрос верен - почти каждая страница в Facebook требует, чтобы вы проходили аутентификацию (а не только страницу профиля), а аутентифицированный доступ является обычной особенностью почти каждого крупного веб-сайта; они редко показывают полосы загрузки.

Мы не знаем точно, как построен Facebook, но вполне справедливо предположить, что они используют React; Вы можете прочитать о том, как управлять аутентификацией в React здесь .

Ваш поток основан на предположении, что необходимо загрузить «приложение» и что запрос аутентификации займет значительное количество времени. Если проверка вашего токена выполняется быстро, это предположение, вероятно, неверно. Вы видите «загрузку» анимации в приложениях React - если вы прокрутите свою временную шкалу на FB очень быстро, вы увидите круг; это, вероятно, частично сеть, частично извлекающая сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...