Это не способ защитить маршрут API. Я предполагаю, что вы используете сервер express. js.
Например: у вас есть конечная точка API /getUserData
. С express. js это будет выглядеть примерно так:
app.get("/getUserData/:user", ()=> {
res.json({
message: "I am a protected API endpoint."
});
});
Для защиты этой конечной точки вы должны создать промежуточное программное обеспечение, которое проверяет, разрешено ли пользователю вводить эту конечную точку API или нет. Давайте создадим пример. Сначала создайте функцию и назовем ее «auth»:
function auth(req, res, next){
let user = req.params.user;
if(user == "admin"){
next(); //This means to continue its request
}else {
res.status(403).json({ message: "Sorry, but you are not allowed }); //Status 403 means forbidden.
}
}
Хорошо, теперь у нас есть очень простое промежуточное программное обеспечение для аутентификации, нам просто нужно внедрить его для каждой конечной точки API, которая нам нужна.
app.get("/getUserData/:user", auth, ()=> {
res.json({
message: "I am a protected API endpoint."
});
});
Я добавил промежуточное программное обеспечение auth
к этому маршруту, чтобы защитить его. Вы можете проверить это сейчас. С localhost:3000/api/getUserData/admin
вы должны увидеть сообщение. Если вы выберете что-то другое, то admin
вы получите ошибку