Я новичок в Angular и пытаюсь внедрить аутентификацию пользователя на моей Angular веб-странице. В качестве бэкэнда я использую Node.js Express framework, а для аутентификации я использую аттестат.
Когда я получаю доступ к URL-адресу сервера из браузера, он работает нормально, но когда я вызываю API из Angular с тем же URL-адресом, я получаю сообщение об ошибке соединения 404.
[Ошибка ] Не удалось загрузить ресурс: сервер ответил со статусом 404 (Не найдено) (пользователи, строка 0)
Это мой URL, который работает в браузере, но не в Angular (я используйте https): https://192.168.1.103: 8000 / users
Так выглядит мой Angular API:
get_user() {
return this.http.post(environment.apiUrl + 'users', {
observe: 'body',
withCredentials: true,
headers: new HttpHeaders().append('Content-Type', 'application/json')
});
}
Мой API на сервере Node выглядит так :
router.get('/users', isValidUser, function (req, res, next) {
return res.status(200).json(req.user)
});
function isValidUser (req, res, next) {
if(req.isAuthenticated()) next ();
else
return res.status(401).json({message: 'Unauthorized request'});
}
Вывод из консоли браузера выглядит следующим образом:
[Error] ERROR
HttpErrorResponse
error: "<!DOCTYPE html><html><head><title></title><link rel=\"stylesheet\" href=\"/stylesheets/style.css\"></head><body><h1>No…"
headers: HttpHeaders {normalizedNames: Map, lazyUpdate: null, lazyInit: function}
message: "Http failure response for https://192.168.1.103:8000/users: 404 Not Found"
name: "HttpErrorResponse"
ok: false
status: 404
statusText: "Not Found"
url: "https://192.168.1.103:8000/users"
Prototyp HttpErrorResponse
defaultErrorLogger (vendor.js:43427)
handleError (vendor.js:43479)
next (vendor.js:74051)
(anonymná funkcia) (vendor.js:69627)
__tryOrUnsub (vendor.js:115680)
next (vendor.js:115619)
_next (vendor.js:115567)
next (vendor.js:115544)
next (vendor.js:115330)
emit (vendor.js:69589)
run (polyfills.js:3359)
onHandleError (vendor.js:73335)
runTask (polyfills.js:3406)
invokeTask (polyfills.js:3700)
timer (polyfills.js:5885)