我已经创建了一个身份验证服务和其他服务,但是每次我用标头访问HTTP时,请求都会返回403错误。
getHeaderOptions(pageId) {
const settings = this.settings;
settings.pageIndex = pageId ? pageId : 1;
let headerKey = '?';
const headerKeys = ['websiteId','token'];
for (const i in settings) {
if (headerKeys.indexOf(i) !== -1) {
headerKey += i + '=' + settings[i] + '&';
}
}
return {
headers: new HttpHeaders({
personalization: btoa(headerKey.slice(0, -1))
})
};
}
getCliparts(pageId) {
return this.http.get(this.settings.hostUrl + this.settings.clipartAction, this.getHeaderOptions(pageId));
}
laravel路线代码
Route::middleware(['auth'])->group(function () {
Route::get('get-cliparts', 'ClipartController@clipartList')->name('get-cliparts');
....
});
同一方法适用于另一个项目,但不适用于此项目。我认为标题错误或其他原因。
答案 0 :(得分:1)
如果您使用的是laravel默认身份验证,即php artisan make:auth
,则发送令牌,如
$response = $client->request('POST', '/api/user', [
'headers' => [
'Authorization' => 'Bearer '+$token,
'Accept' => 'application/json',
],
]);
就您而言
return {
headers: new HttpHeaders({
Authorization: 'Bearer '.token,
personalization: btoa(headerKey.slice(0, -1))
})
};