【发布时间】:2021-01-07 16:30:11
【问题描述】:
我是第一次使用 Laravel Sanctum,尤其是使用 API。我必须创建一个仅用于返回 JSON 的报告的 API,POSTMAN 无法访问该主题,因为它告诉我"message": "Unauthenticated."
我按照项目文档告诉我的配置步骤进行操作。
我遵循文档在我的项目中告诉我的配置步骤,即安装 sanctum,运行提供程序,创建令牌迁移,在用户 sanctum 模型中引用并放置 HasApiTokens,此时我没有'不知道该怎么办了。
一方面,文档告诉我可以通过放置token = $user->createToken('token-name');这一行来访问,但我不知道放在哪里,因为它没有接口,因为目的是通过PowerBi访问
这是我的路由 API
Route::group(['middleware'=> 'auth:sanctum'], function (){
Route::get('/reports','Api\ReportController@getTicketsCotizados');
});
我的控制器
public function __construct()
{
$this->middleware('auth');
}
public function getTicketsCotizados(){
$this->authorize('view ticket');
$cotizados =Ticket::ticketWithLeadForStatus(3)->get();
return response()->json($cotizados, 200);
}
内核
'api' => [
EnsureFrontendRequestsAreStateful::class,
'throttle:60,1',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
用户
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use Notifiable, UsesTenantConnection, HasApiTokens, HasRoles;
(...)
}
守卫
'api' => [
'driver' => 'sanctum',
'provider' => 'users',
'hash' => false,
],
【问题讨论】:
标签: laravel api laravel-sanctum