我刚从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:
通过邮递员,我怎么能在回报中得到这个?或者我会在哪里看,因为目前我无法在任何地方找到它。也许我在这里做错了。
非常感谢任何帮助。
答案 0 :(得分:1)
我遇到了这个试图做类似事情的问题。 自此问题发布之日起,laravel / passport供应商代码已经进行了一些新的修订,以解决一些内部问题,这些问题可能是您在某些问题中得到的结果。
然而,直接回答你的问题:
问题1:
当我正确执行所有步骤并进行迁移时,所有表都填充在1个数据库中。我希望将护照迁移到auth数据库远离其他任何东西。我怎样才能做到这一点?
回答1:
这个问题在laravel / passport github上以类似的方式提出,并且回应是它将是他们必须添加的附加功能。目前,没有干净/正确的方法将护照迁移与其他一切,除非他们已经嵌入护照框架。
问题2:
我在这里做错了吗?如何阻止它重定向我,而不是简单地返回用户对象?
回答2:
检查App\Http\Controllers\Auth\ directory
和App\Http\Middleware\RedirectIfAuthenticated.php
文件中的方法,并注释掉所有重定向呼叫。这样,您就可以在最初有return $variable;
电话的任何地点执行redirect->
。
问题3:
通过邮递员,我怎么能在回报中得到这个?或者我会在哪里看,因为目前我无法在任何地方找到它。也许我在这里做错了。
回答3:
通过回答2,您将能够将返回的值从数据库查询分配给某个变量,然后返回该特定变量。
希望这有帮助。