Миграция паспорта Laravel 5.3 и изменение таблицы пользователей по умолчанию

Я только что обновился с laravel 5.2.45 до 5.3.15 и, как и многие другие, имею несколько вопросов о том, как реализовать паспорт и таблицы по умолчанию, которые поставляются с командой:

php artisan make:auth

Ситуация 1:

Я настроил свою конфигурацию на 2 отдельных подключения к базе данных. Один называется «ядро» (соединение по умолчанию), а другой — «аутентификация».

Вопрос 1:

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

Ситуация 2:

(Предполагается, что все файлы конфигурации настроены правильно)

Мне удалось сделать это в предыдущей версии laravel (5.2), где я изменил таблицу пользователей на acct_user и все заработало идеально. В настоящее время, когда я делаю те же необходимые изменения и пытаюсь зарегистрировать пользователя, пользователь не сохраняется в базе данных.

Я извлек код, расположенный в Illuminate\Foundation\Auth\RegistersUsers, и переопределил метод черты внутри класса RegisterController, расположенного в App\Http\Controllers\Auth.

Код:

/**
 * Handle a registration request for the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    $this->guard()->login($user);

    //return redirect($this->redirectPath());
    //return $user;
}

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

Вопрос 2:

Я делаю что-то не так здесь? Как мне остановить его от перенаправления меня и вместо этого просто вернуть пользовательский объект?

Ситуация 3:

(Попытка имитировать самопотребляющее приложение)

Когда я делаю запрос на вход или регистрацию через Postman с задействованным паспортом, я ожидаю получить файл cookie laravel_token со встроенным в него JWT.

Вопрос 3:

Через Почтальона, как я могу получить это в ответ?? или где бы я искал, потому что в настоящее время я не могу найти его нигде. Может я тоже что-то не так делаю.

Любая помощь приветствуется.


person Andre F.    schedule 08.10.2016    source источник


Ответы (1)


Я столкнулся с этой проблемой, пытаясь сделать что-то подобное. Со дня этого вопроса с тех пор было несколько новых изменений в коде поставщика laravel/passport, которые решают некоторые внутренние проблемы, которые могут быть результатом того, что вы получаете в некоторых из ваших вопросов.

Однако, чтобы ответить на ваши вопросы напрямую:

Вопрос 1:

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

Ответ 1:

Этот вопрос был задан аналогичным образом на гитхабе laravel/passport, и ответ заключался в том, что это будет дополнительная функция, которую им придется добавить. В настоящее время нет чистого/правильного способа отделить миграцию паспорта от всего остального, если только так как они встроены в рамки паспорта.

Вопрос 2:

Я делаю что-то не так здесь? Как мне остановить его от перенаправления меня и вместо этого просто вернуть пользовательский объект?

Ответ 2:

Проверьте методы в файле App\Http\Controllers\Auth\ directory и файле App\Http\Middleware\RedirectIfAuthenticated.php и закомментируйте все вызовы перенаправления. Это позволит вам затем выполнить return $variable; в любом месте, где изначально был вызов redirect->.

Вопрос 3:

Через Почтальона, как я могу получить это в ответ?? или где бы я искал, потому что в настоящее время я не могу найти его нигде. Может я тоже что-то не так делаю.

Ответ 3:

Пройдя Ответ 2, вы сможете присвоить возвращаемые значения из запроса БД некоторой переменной, а затем вернуть эту конкретную переменную.

Надеюсь это поможет.

person JellyFish    schedule 04.11.2016