在laravel中每个服务在后端都有403错误

时间:2019-05-18 18:17:52

标签: angular laravel

我已经创建了一个身份验证服务和其他服务,但是每次我用标头访问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');
....
    });

同一方法适用于另一个项目,但不适用于此项目。我认为标题错误或其他原因。

1 个答案:

答案 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))
    })
  };