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\ directory
和 App\Http\Middleware\RedirectIfAuthenticated.php
文件中的方法并注释掉任何重定向调用。这将允许您在任何最初有 redirect->
呼叫的地方执行 return $variable;
。
问题三:
通过 Postman,我如何在 return 中得到这个??或者我会在哪里寻找,因为目前我无法在任何地方找到它。也许我这里也做错了。
答案3:
通过回答 2,您将能够将数据库查询中的 returned 值分配给某个变量,然后 return 该特定变量。
希望对您有所帮助。
我刚刚从 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\ directory
和 App\Http\Middleware\RedirectIfAuthenticated.php
文件中的方法并注释掉任何重定向调用。这将允许您在任何最初有 redirect->
呼叫的地方执行 return $variable;
。
问题三:
通过 Postman,我如何在 return 中得到这个??或者我会在哪里寻找,因为目前我无法在任何地方找到它。也许我这里也做错了。
答案3:
通过回答 2,您将能够将数据库查询中的 returned 值分配给某个变量,然后 return 该特定变量。
希望对您有所帮助。