我爲我的web應用程序構建了一個API,它是使用MEAN堆棧構建的。 現在我正嘗試在使用Ionic Framework構建的移動客戶端上使用此API。 我使用這個代碼執行$ HTTP調用API:使用Passport進行Ionic App的角度驗證
$http.post(ServerIP+'/login', {username: $scope.credentials.username, password: $scope.credentials.password}).success(function(response) {
$scope.authentication.user = response;
$location.path('/');
}).error(function(response) {
$scope.error = response.message;
});
它得到與用戶對象的有效響應,但如果我嘗試從API的被保護部分得到一些信息,它不工作和身份驗證正在重置。
在網絡應用上,我使用相同的代碼,一切工作正常。 這個問題只發生在Ionic應用上。 我已經設置了CORS這樣的:
app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
// intercept OPTIONS method
if ('OPTIONS' === req.method) {
res.sendStatus(200);
}
else {
next();
}
});
請幫幫我!
您是否正在生成並使用令牌或某種策略來匹配請求? –
您是否正在設置withCredentials = true globaly? –
我使用Passport-local-mongoose作爲本地策略。 –