gpt4 book ai didi

laravel - 测试 Laravel Sanctum 作为错误方法调用的结果

转载 作者:行者123 更新时间:2023-12-04 00:20:27 26 4
gpt4 key购买 nike

我正在尝试测试经过身份验证的 API 路由,该路由只有经过身份验证的用户才能发布到特定路由。

查看 Laravel Sanctum 文档,我可以使用下面的代码来创建和验证用户:

Sanctum::actingAs(
factory(User::class)->create(),
['*']
);

当我尝试复制它时,运行测试时出现错误
BadMethodCallException: Call to undefined method App\User::withAccessToken()

我的测试代码如下:
    public function an_authenticated_user_can_add_a_client()
{
$user = Sanctum::actingAs(
factory(User::class)->create(),
['*']
);
dd($user);
// $this->post('/api/clients', $this->data());
}

api.php
Route::middleware('auth:sanctum')->group(function () {

//Clients
Route::get('/clients/{client}','ContactsController@show');
Route::post('/clients','ContactsController@store');
Route::patch('/clients/{client}','ContactsController@update');
Route::delete('/clients/{client}','ContactsController@destroy');
});

我的 User 类中没有 withAccessToken() 方法,无法查看此方法来自何处或在任何地方指定。
任何帮助将不胜感激。

最佳答案

Laravel Sanctum for SPA 使用正常的 session 身份验证,因此默认的actingAs 方法可以正常工作。 Sanctum 中的 ActingAs 方法旨在用于 api token 。希望能帮助到你。

关于laravel - 测试 Laravel Sanctum 作为错误方法调用的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61150750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com