React получить пользователя Laravel Auth

Я только что сделал систему аутентификации через Laravel и столкнулся с проблемой: как проверить в ReactJS зарегистрированного пользователя? Мне нужно получить его идентификатор, чтобы проверить, может ли этот пользователь изменять страницу. Я вообще не знаю, куда идти.

Любые советы приветствуются!

На самом деле вам не нужно этого делать. Просто сделайте запрос (используя токен API от Встроенная система аутентификации API Laravel и позвольте Laravel выполнить проверки (используя Система Laravel авторизация). Если проверки не пройдут, React получит ошибку 403 Unauthorized и будет действовать соответствующим образом.

ceejayoz 23.02.2019 23:52

Но что, если я делаю какие-то другие вещи, такие как изменение профиля, которые не имеют ничего общего с ReactJS?

Zeyukan Ich' 24.02.2019 00:17
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
2 188
1

Ответы 1

вы не можете использовать аутентификацию по умолчанию (с использованием сеансов) с реагирующим приложением.

вам нужна система, которая создает токен аутентификации (поиск паспорта JWT или Laravel), который идентифицирует пользователей, и, поскольку протокол HTTP не имеет состояния, в каждом запросе вы должны отправлять этот токен на серверную службу/API.

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

проверьте этот средняя статья, где автор объясняет, как создать аутентификацию на основе токенов с помощью laravel с использованием JWT.

вы также можете найти дополнительную информацию о REST и oauth.

Дело в том, что мое приложение можно использовать для других целей, кроме части React (которая представляет 50% всего приложения), и я не знаю, как управлять этим с помощью токена аутентификации, поскольку я не собираюсь использовать сеансы.

Zeyukan Ich' 24.02.2019 00:32

я отредактировал свой ответ, добавив ссылку на хорошую статью на среднем уровне.

Djellal Mohamed Aniss 24.02.2019 00:34

Спасибо за ссылку. В моей голове все еще какой-то беспорядок: означает ли это, что мне придется входить только через React?

Zeyukan Ich' 24.02.2019 00:39

Вы говорите, что ваше приложение наполовину HTML, наполовину реагирует, верно?

Djellal Mohamed Aniss 24.02.2019 00:49

Вроде. Половина — это некоторые блейд-представления Laravel с модификацией профиля и т. д. А половина — приложение ReactJS. Пользователь подключен ко всему приложению, а не только к его части.

Zeyukan Ich' 24.02.2019 00:50

вы должны использовать аутентификацию на основе токенов во всех своих приложениях, я постараюсь дать вам несколько ссылок о том, как это сделать, когда вы повторно извлекаете HTML-файлы. редактировать: на самом деле вы также можете возвращать html-файлы напрямую, используя маршруты API, как веб-маршруты. laravel.com/docs/5.7/responses#view-ответы

Djellal Mohamed Aniss 24.02.2019 01:00

В настоящее время я использую форму входа в блейд Laravel (laravel.com/docs/5.7/аутентификация). После входа в систему все остальное передается приложению React. Проблема в том, что я хочу реализовать механизм выхода из системы. Перенаправление на маршрут входа не приводит к ожидаемому результату. Теперь я думаю, что если я реализую форму входа в систему на стороне клиента, механизм выхода из системы будет проще реализовать с использованием истории React-Router и push-уведомлений. Но это означает, что мне придется изменить механизм аутентификации с помощью JWT или Passport, что потребует больше усилий и времени.

Lex Soft 14.04.2020 14:16

Другие вопросы по теме