Регистрация пользователя с паспортом Laravel — предоставление пароля

Я знаю, как работает базовая аутентификация для регистрации / входа в Laravel. Тем не менее, я хочу узнать, как настроить регистрацию пользователя (для предоставления пароля). Я установил Passport (2.0) — Passport Grant, и я могу получить токен; однако я не смог найти ничего для регистрации пользователя. Тогда я нашел тема здесь объясняя, что я должен назвать oauth/token внутренне, но также не мог понять, как этого добиться.

Так что я думал, создает signup() метод в контроллере и обрабатывать регистрацию пользователя самостоятельно, но как тогда передать необходимые данные oauth/token маршрут? Потому что то, что Laravel использует для $request является Request $request но то, что использует паспорт ServerRequestInterface $request и когда я vardump $ запрос на oauth/tokenМетод IssueToken, он совершенно другой Request $request,

// Setup new method
public function signup(Request $request) {

// do validations

// create user
User::create([
'email' => $request->username,
'password' => bcrypt($request->password),
]);

$client = \Laravel\Passport\Client::where('password_client', 1)->first();

$oauthData = [
'grant_type' => 'password',
'client_id' => $client->id,
'client_secret' => $client->secret,
'username' => $request->email,
'password' => $request->password,
'scope' => null
]

// Here, I got confused how to pass this `oauthData` to `issueToken()` route
// and it takes it as `ServerRequestInterface $request`

}

Кому-то здесь понравилось, но не знаю, как я должен точно реализовать этот подход. Потому что мой /oauth/token Метод post-метода routeToken () выглядит следующим образом:

public function issueToken(ServerRequestInterface $request)
{
return $this->withErrorHandling(function () use ($request) {
return $this->server->respondToAccessTokenRequest($request, new Psr7Response);
});
}

Я очень растерялся и не мог понять, как это преодолеть. Как правильно обрабатывать такой сценарий, когда мне нужно зарегистрировать пользователей через API?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]