0

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

php artisan make:auth

情况一:

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

问题一:

当我正确执行所有步骤并迁移时,所有表都填充在 1 个数据库中。我想将护照迁移到身份验证数据库中,而不是其他所有内容。我怎样才能做到这一点?

情况2:

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

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

我已经提取了位于Illuminate\Foundation\Auth\RegistersUsers中的代码,并覆盖了位于App\Http\Controllers\Auth的 RegisterController 类中的特征方法。

代码:

/**
 * 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 发出登录或注册请求时,我期望取回一个 laravel_token cookie,其中嵌入了 JWT。

问题 3:

通过邮递员,我如何在退货中得到这个?或者我会在哪里看,因为目前我无法在任何地方找到它。也许我在这里也做错了什么。

非常感谢任何帮助。

4

1 回答 1

1

我在尝试做类似的事情时遇到了这个问题。自这个问题的日期以来,已经对 laravel/passport 供应商代码进行了一些新的修订,这些修订解决了一些内部问题,这些问题可能是您在某些问题中得到的结果。

但是,要直接回答您的问题:

问题一:

当我正确执行所有步骤并迁移时,所有表都填充在 1 个数据库中。我想将护照迁移到身份验证数据库中,而不是其他所有内容。我怎样才能做到这一点?

答案1:

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

问题2:

我在这里做错了吗?如何阻止它重定向我,而是让它简单地返回用户对象?

答案 2:

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

问题 3:

通过邮递员,我如何在退货中得到这个?或者我会在哪里看,因为目前我无法在任何地方找到它。也许我在这里也做错了什么。

答案 3:

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

希望这可以帮助。

于 2016-11-04T17:43:03.647 回答