Laravel 5.3 Passport迁移&修改默认用户表

时间:2016-10-08 14:05:48

标签: laravel laravel-5 laravel-5.3 laravel-migrations laravel-authorization

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

php artisan make:auth

情况1:

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

问题1:

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

情况2:

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

我设法在之前版本的laravel(5.2)中执行此操作,在那里我将users表更改为acct_user并使一切工作完美。目前,当我进行相同的必要更改并尝试注册用户时,用户不会保存在数据库中。

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

代码:

/**
 * 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进行登录或注册请求时,我希望能够获得一个嵌入了JWT的laravel_token cookie。

问题3:

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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

然而,直接回答你的问题:

问题1:

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

回答1:

这个问题在laravel / passport github上以类似的方式提出,并且回应是它将是他们必须添加的附加功能。目前,没有干净/正确的方法将护照迁移与其他一切,除非他们已经嵌入护照框架。

问题2:

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

回答2:

检查App\Http\Controllers\Auth\ directoryApp\Http\Middleware\RedirectIfAuthenticated.php文件中的方法,并注释掉所有重定向呼叫。这样,您就可以在最初有return $variable;电话的任何地点执行redirect->

问题3:

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

回答3:

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

希望这有帮助。