Пользователи Token Passport - PullRequest
       8

Пользователи Token Passport

0 голосов
/ 19 декабря 2018

Я новичок в создании API, и я использую Laravel и некоторые пакеты, такие как Passport.

В этом проекте я создаю API для связи с мобильным приложением и выполняю некоторые задачи, такие как создание пользователей и добавление некоторой информации, связанной с пользователями.

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

В моем API у меня уже есть эти готовые маршруты, но я не могу получить доступ к этой информации, потому что мне нужен токен.

Как мне справиться с этой ситуацией?Когда мне нужно получить доступ к информации, где я не могу ее представить?

1 Ответ

0 голосов
/ 19 декабря 2018

Используйте ваши контроллеры , чтобы получить необходимые данные из вашей базы данных, а затем вернуть ответ с данными и создать маркер для пользователя:

...
$status = 200;
$response = [
   'data'  => Your data (user info, listings, news...),
   'token' => Auth::user()->createToken("YourTokenName")->accessToken,
];

return response()->json($response, $status);

Затем вы можете сохранитьэтот токен в localStorage :

axios.post('your-api-route')
.then((response) => {
   localStorage.setItem(`${"YourTokenName"}.jwt`, response.token);
   ...
})

И, наконец, присоедините этот токен к API-маршрутам , для которых требуется аутентификация :

axios.defaults.headers.common['Authorization'] = 'Bearer ' + localStorage.getItem(`${YourTokenName}.jwt`);
...