我創建了Laravel的API和我嘗試用離子2項目Laravel API和離子2客戶端:CORS否「訪問控制允許來源」頭
我試圖讓使用它GET請求到我的Laravel API。
當我把我的http
請求
auth/{prodiver}/callback/{userID}/{accessToken}
我得到這個錯誤:
Failed to load http://api.url.net/api/auth/facebook/callback/XXXX/MY_TOKEN: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8001' is therefore not allowed access.
我的路線是這樣的:
Route::group(['middleware' => ['guest', 'cors']], function() {
Route::get('test', function() {
return response()->json('{dummy.data}', 200);
});
Route::get('auth/{prodiver}/callback/{userID}/{accessToken}', '[email protected]')->middleware('cors')->name('social.auth'); // social auth
});
但是,當我嘗試相同的代碼,與路線test
,它的工作原理和我得到的數據...
「Facebook連接」不是問題,成功回調觸發。
這裏是callback()
方法
public function callback($provider, $userID, $accessToken)
{
if ($provider == "facebook"){
$user = $this->createOrGetUser($userID, $accessToken);
auth()->login($user);
return response()->json($user, 200);
}
}
其他所有的http請求的作品完美...
下面是有關http
請求(離子項目)
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let url = this.baseApiUrl+'auth/facebook/callback/' + userID + '/' + accessToken;
this.http
.get(url, {headers: headers})
.map(res => res.json())
.subscribe(data => {
console.log(data)
}, err => {
this.onError(err);
}
);
我不不知道發生了什麼,任何人都有線索?我完全厭倦了這個錯誤:/
非常感謝! :)
你剛纔提到'cors'中間件。你使用什麼軟件包,'barryvdh/laravel-cors'?你配置正確嗎? –
是的,我讓配置到處都是「*」,用於開發... – Doddo
[No'Access-Control-Allow-Origin'頭文件可能重複 - Laravel 5.4](https://stackoverflow.com/questions/43565877/no-access-control-allow-origin-header-laravel-5-4) – Demonyowh