Laravel 5.3 护照迁移和修改默认用户 table

Laravel 5.3 Passport migrations & modifying the default users table

我刚刚从 laravel 5.2.45 升级到 5.3.15,和许多其他人一样,对如何实施护照和命令附带的默认 tables 有一些疑问:

php artisan make:auth

情况一:

我已经将我的配置设置为有 2 个独立的数据库连接。 一个名为 'core'(默认连接),另一个名为 'auth'。

问题一:

当我正确执行所有步骤并迁移时,所有 table 都填充到 1 个数据库中。我想将护照迁移到 auth 数据库中,远离其他一切。我怎样才能做到这一点?

情况二:

(假设所有配置文件都已正确设置)

我在以前的 laravel (5.2) 版本中设法做到了这一点,我将用户 table 更改为 acct_user 并使一切正常运行。当前,当我进行相同的必要更改并尝试注册用户时,该用户不会保存在数据库中。

我已经提取了位于 Illuminate\Foundation\Auth\RegistersUsers 中的代码并覆盖了位于 中的 RegisterController class 中的特征方法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;
}

据我所知,以上代码直接负责处理注册请求和在数据库中创建用户。但是,它一直挂在事件助手内部并不断重定向我并且永远不会创建用户。我也试图在整个 class 中注释掉 return 重定向,显然重定向发生在事件助手本身内。请记住,为此我正在使用 Postman 发出请求。

问题二:

我是不是做错了什么?我如何阻止它重定向我,而是让它简单地 return 用户对象?

情况三:

(正在尝试模拟自消费应用程序)

当我通过涉及护照的 Postman 发出登录或注册请求时,我希望取回一个 laravel_token cookie,其中嵌入了 JWT。

问题三:

通过 Postman,我如何在 return 中得到这个??或者我会在哪里寻找,因为目前我无法在任何地方找到它。也许我这里也做错了。

非常感谢任何帮助。

我 运行 试图做类似的事情来解决这个问题。 自此问题发布之日起,对 laravel/passport 供应商代码进行了一些新修订,解决了一些内部问题,这些问题可能是您在某些问题中得到的结果。

但是,直接回答你的问题:

问题一:

当我正确执行所有步骤并迁移时,所有表都填充到 1 个数据库中。我想将护照迁移到 auth 数据库中,远离其他一切。我怎样才能做到这一点?

答案一:

这个问题在 laravel/passport github 上以类似的方式被问到,回答是这将是他们必须添加的附加功能。目前,没有 clean/proper 将护照迁移与其他一切分开的方法,除非它们被嵌入到护照框架中。

问题二:

我是不是做错了什么?我如何阻止它重定向我,而是让它简单地 return 用户对象?

答案2:

检查 App\Http\Controllers\Auth\ directoryApp\Http\Middleware\RedirectIfAuthenticated.php 文件中的方法并注释掉任何重定向调用。这将允许您在任何最初有 redirect-> 呼叫的地方执行 return $variable;

问题三:

通过 Postman,我如何在 return 中得到这个??或者我会在哪里寻找,因为目前我无法在任何地方找到它。也许我这里也做错了。

答案3:

通过回答 2,您将能够将数据库查询中的 returned 值分配给某个变量,然后 return 该特定变量。

希望对您有所帮助。