У меня есть форма, где в какой-то момент пользователь может ввести свой адрес электронной почты.Итак, я использую его, чтобы на лету создать его аккаунт.Создание в порядке, я использую маршрут API с POST, а теперь с контроллером, я использую User :: create ([...]), за которым следует Auth :: login ($ user) ... Все в порядке сС точки зрения скрипта API пользователь подключен.
Но с точки зрения страницы формы, если пользователь изменит или обновит страницу, он не будет подключен.Я думаю, что это из соображений безопасности, но как я могу это сделать?Я новичок в Laravel, я просто хочу найти правильный путь "laravel".
Спасибо.
edit:
В файле маршрутов:
Route::post('/user', 'UserController@receiveData');
В файле контроллера:
class UserController extends Controller
{
public function receiveData (Request $request)
{
$response = new ServerResponse('User');
switch ( $action = $request->input('action') )
{
case 'create_user_from_email' :
/*if ( Auth::check() )
{
echo '(Connected, email:'.Auth::user()->email.')';
}
else
{
echo '(Not connected)';
}*/
if ( $email = $request->input('email') )
{
$errorToken = null;
if ( $user = User::createFromEmail($email, $errorToken) )
{
/* Données optionnelles */
$profileData = $request->input('profile') ? json_decode($request->input('profile'), true) : null;
$addressData = $request->input('address') ? json_decode($request->input('address'), true) : null;
/* Création du profile, de l'adresse et du compte en banque par défaut. */
$profile = $user->profile($profileData);
$address = $profile->primaryAddress($addressData);
$bankAccount = $user->primaryBankAccount();
/* Auto-connexion. */
Auth::login($user, true);
if ( Auth::check() )
{
$response->setStatus(0, 'New User created.');
$response->addData('user_id', $user->id);
$response->addData('profile_id', $profile->id);
$response->addData('address_id', $address->id);
$response->addData('bank_account_id', $bankAccount->id);
}
else
{
$response->setStatus(4, 'Unable to connect the new User !');
$response->addData('error', 'user_not_connected');
}
}
else
{
$response->setStatus(3, 'Unable to create a new User ! See "error" key.');
$response->addData('error', $errorToken);
}
}
else
{
$response->setStatus(2, 'There is email address !');
}
break;
default:
$response->setStatus(1, 'Action "'.$action.'" unhandled !');
break;
}
return $response->get();
}
}