Я создаю конечные точки API с использованием Laravel 5.8 и обрабатываю аутентификацию API с помощью Passport Итак, вот простая логика приложения React, которое будет использовать API
- При успешной регистрации пользователь будет перенаправлен на панель пользователя
- Успешный вход перенаправит пользователя на панель пользователя
- Панель инструментов отображает подробную информацию о пользователе
Я настроил конечные точки следующим образом
Route::post('register', 'BaseController@register');
Route::post('login', 'BaseController@login);
BaseController выглядит вот так
public function register(Request $request)
{
$validator = Validator::make($request->all(), [
'firstname' => 'required',
'lastname' => 'required',
'username' => 'required|email',
'password' => 'required'
]);
if ($validator->fails()) {
return response()->json(['Error', $validator->errors()], 401);
}
$user = User::create([
'firstname' => $request->firstname,
'lastname' => $request->lastname,
'username' => $request->username,
'password' => bcrypt($request->password)
]);
$success['token'] = $user->createToken('Pramopro')->accessToken;
return response()->json(['success' => $success, 'message' => 'You have successfully registered'], 200);
}
public function login() {
if (Auth::attempt(['username' => request('username'), 'password' => request('password')])) {
$user = Auth::user();
$success['token'] = $user->createToken('Pramopro')->accessToken;
return response()->json(['success' => $success, 'message' => 'You have succesfully signed in.'], 200);
}
else
{
return response()->json(['error' => 'Unauthorised'], 401);
}
}
Обе конечные точки API работают нормально при тестировании на Postman.
Следуя логике, как лучше всего настроить конечную точку API, которая будет отображать аутентифицированную информацию о пользователе?