好的,所以我知道这可能是一个在其他地方回答过的问题,但是我没有做任何工作,因此我必须做的事情非常糟糕。我设置了Laravel项目,然后向其中添加了laravel-api-auth以便使用api_token。我已将该列添加到我的用户表中,已使用令牌设置了env文件,但我的问题是,我不知道如何将令牌传递到API路由,并且每当在其上找到文章时,曾经有人举过例子,它总是“简单地通过api_token”,但不幸的是,这绝非易事。
我的项目需要从数据库中检索客户端列表,但前提是已登录的用户有权查看它们。我的路线文件包含以下内容:
Route::middleware('auth.api')->get('/user', function (Request $request) {
return $request->user();
});
Route::group(['middleware' => ['apiauth:MY_GREAT_APP']], function () {
Route::prefix('clients')->group(function () {
Route::get('/{accountId}', 'ClientController@getClients');
});
});
但是每次传递给我时,我总是会遇到401: Unauthorized
错误。
我的apiauth.php
文件已进行此设置(以xxxxx为例):
<?php
return [
'services' => [
'MY_GREAT_APP' => [
'token' => 'xxxxx',
'tokenName' => 'api_token',
'allowJsonToken' => true,
'allowBearerToken' => true,
'allowRequestToken' => true,
]
],
];
根据我所读到的关于将令牌作为get传递的内容,我尝试过:
Route::get('/{accountId}?api_token=xxxxx', 'ClientController@getClients');
但是我只收到404错误。
我还尝试将其传递到我的clients.js
api文件中:
export function getClients(accountId) {
return api.get(`clients/${accountId}?api_token=xxxxx`);
}
我不知道如何将其作为Authorization标头传递(即使研究后,我也不知道它是什么)。我收集的唯一信息来自this article,但同样,没有一个明确的示例可供我在项目中使用。
因此,任何能给我一个如何通过此api_token
的简单例子的人,我将万分感谢,谢谢。