【问题标题】:Laravel Dusk auth issues with Laravel PassportLaravel Passport 的 Laravel Dusk 身份验证问题
【发布时间】:2019-09-25 15:02:03
【问题描述】:

如果应用使用 Laravel Passport 进行身份验证,则无法使用 Laravel Dusk 测试应用。它总是 404,如果你用 ->stop() 停止测试,它就会开始工作。

应用程序位于:localhost:3000 并且所有请求都被代理到api.example.test

我已尝试在测试中验证用户身份:

$this->actingAs(User::find(1), 'api');
$browser->loginAs(User::find(1));
Passport::actingAs($this->user);

但还是一样。

这不是唯一的问题,我认为主要问题也是我无法通过填写表单并单击“登录”来登录 Dusk

$browser->visit('/login')
   ->type('@email', 'john@doe.com')
   ->type('@password', 'password')
   ->click('@login-button')
   ->waitForLocation('/');

但同样,如果您使用 ->stop() 停止测试,您可以手动单击该按钮,它会登录。

如果你的应用不使用基本身份验证,Laravel Dusk 就没有用了吗?

【问题讨论】:

    标签: laravel tdd laravel-passport laravel-dusk


    【解决方案1】:

    解决了。

    问题是我的 Dusk .env 文件有 APP_URL=localhost:3000 前端所在的位置,但我的 API .env 文件有 APP_URL=api.exmaple.com 这就是为什么在我的 AuthController 中,我从env('APP_URL').'/oauth/token' localhost:3000/oauth/token 这是 ofc 404

    我将其更改为 env('API_URL') 并将该值添加到我的两个 .env 文件中。

    【讨论】:

      猜你喜欢
      • 2018-01-31
      • 2018-01-05
      • 2017-05-13
      • 1970-01-01
      • 2018-04-11
      • 2014-05-10
      相关资源
      最近更新 更多