Я пытаюсь выполнить запрос get с angular 6 к API на производственном сервере, и я отправил вместе с ним заголовок токена авторизации, но я продолжаю получать
Error
Here is my code
authheader = {
headers: new HttpHeaders({
'Authorization': 'Bearer '+this.tokenr,
'Content-Type': 'text/plain'
})
}
public async getUserInfo() {
return new Promise(async resolve => {
this.http.get(this.realapi + '/user', this.authheader)
.map(data => <any>data)
.subscribe(data => {
resolve(data);
console.log(data, 'data here');
}, err => {
console.log(err,'errorrr');
});
});
}
Я должен использовать эту конечную точку для получения сведений о пользователе после успешного входа с веб-сайта (паспорт) 5.7 api
Ниже описано, как я обрабатываю запрос CORS и Preflight в laravel
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Response;
class PreflightResponse
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next )
{
if ($request->getMethod() == "OPTIONS") {
return Response::make('OK', 200, $headers);
}
$response = $next($request);
$response->header('Access-Control-Allow-Origin', '*');
$response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, DELETE, OPTIONS');
$response->header('Access-Control-Allow-Headers', 'Content-Type, Authorization, application/json');
return $response;
}
}
Я добавил его в промежуточное программное обеспечение с защитой $ (чтобы оно проходило через весь запрос) в файле kernel.php
Достаточно забавно, HTTP-запрос POST работает, но GET не работает: (
POST request carries the data/parameter and 'Content-Type': 'application/x-www-form-urlencoded' header but the GET request just using the 'Authorization'; 'Bearer '+token