Laravel + passport как правильно зарегестрировать юзера?
Не нашел юзеркейсы как правильно использовать паспорт применительно к юзерам.
Правильно ли я понимаю, что я создаю в "users" юзера, а потом в "oauth_clients" создаю нового клиента с id созданного юзера?
Вопрос в связи с тем, что может быть есть уже какие-то готовые фасады, мидлвары, интерфесы где уже все готово, а я начну костылить.
Также есть какой-то детальный разбор как паспорт работает? Зачем столько таблиц, как он их использует?
Константин Б., опять таки. HasApiTokens открывал и смотрел. Laravel\Passport\ClientRepositor не смотрел, сейчас глянул. Там есть метод create, да.
Но. Как и из и из этих исходны вычленить бизнес-логику - я не представляю.
Мое рассуждение - у каждого пользователя есть свои токены. Значит они где-то хранятся. Если бы я делал сам, они бы хранились в users. В паспорте, есть таблица с клиентами и значит каждому юзеру приравнивается свой клиент. Тем более, что у него есть поле user_id. То есть - регистрируется на сайте новый юзер. Делаем под него клиента, в котором уже есть токены. И по этим токенам с ним работает сторонее приложение. А паспорт, идет сначала в таблицу клиентов, находит по токену клиента и у него берет юзер ид.
Это все очень логично, но судя по всему это не так. Ну вот поэтому я и спрашиваю. Потому что конкретная реализация в паспорте не очевидна, он слова совсем. И в доке - тоже.
Для этого тут и задают вопросы, когда такие вещи не понятны, разве нет?
У ларавел есть такое из коробки, для этого не нужен никакой Passport
В паспорте, есть таблица с клиентами и значит каждому юзеру приравнивается свой клиент.
Нет. Клиент это приложение (сайт) который может работать с вашим сайтом от имени пользователя. Например вы хотите дать возможность другим сайтам регистрировать пользователей через ваш сайт. Также же как например войти через вк, войти через google. Тот сайт который будет запрашивать вход от вашего имени и есть клиент. А user это уже ваши пользователи. Как-то так примерно
Evgenii Borovoi, вероятнее всего вам достаточно сделать то что я присылал https://laravel.demiart.ru/create-rest-api-with-au... и вам будет этого достаточно. Ну или юзать Airlock
Делать как хотите вы, писать токен прямо в таблицу пользователя, по идеи можно, но лучше поучиться работать с более серьезными пакетами
Можно воспользоваться Password Grant Tokens, после создания юзера однократно получать access и refresh токены по логину/паролю, а дальше использовать их.
Evgenii Borovoi, Кто "они"? пользователи - в таблице пользователей, токены - в таблице токенов. Клиенты - в таблице клиентов. При этом этот клиент добавляется один раз - через artisan команду, а токены - создаются при авторизации по логину/паролю.