Изменены запросы и добавлены новые #89
@ -7,33 +7,64 @@ router.get("/users", (request, response) => {
|
|||||||
router.post("/auth", (request, response) => {
|
router.post("/auth", (request, response) => {
|
||||||
const { phoneNumber, password } = request.body;
|
const { phoneNumber, password } = request.body;
|
||||||
console.log(phoneNumber, password);
|
console.log(phoneNumber, password);
|
||||||
if (phoneNumber === "89999999999") {
|
if (phoneNumber === "89999999999" || phoneNumber === "89559999999") {
|
||||||
response.send(require("./json/auth/dogsitter.success.json"));
|
response.send(require("../json/auth/success.json"));
|
||||||
} else if (phoneNumber === "89555555555") {
|
|
||||||
response.status(400).send(require("./json/auth/error.json"));
|
|
||||||
} else {
|
} else {
|
||||||
response.send(require("./json/auth/owner.success.json"));
|
response.status(401).send(require("../json/auth/error.json"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post("/auth/2fa", (request, response) => {
|
router.post("/auth/2fa", (request, response) => {
|
||||||
const { code } = request.body;
|
const { phoneNumber, code } = request.body;
|
||||||
if (code === "0000") {
|
if (code === "0000" && phoneNumber === "89999999999") {
|
||||||
response.send(require("./json/2fa/success.json"));
|
response.send(require("../json/2fa/dogsitter.success.json"));
|
||||||
|
} else if (code === "0000" && phoneNumber === "89559999999") {
|
||||||
|
response.send(require("../json/2fa/owner.success.json"));
|
||||||
} else {
|
} else {
|
||||||
response.status(400).send(require("./json/2fa/error.json"));
|
response.status(401).send(require("../json/2fa/error.json"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post("/register", (request, response) => {
|
router.post("/register", (request, response) => {
|
||||||
const { firstName, secondName, phoneNumber, password, role } = request.body;
|
const { firstName, secondName, phoneNumber, password, role } = request.body;
|
||||||
console.log(phoneNumber, password, role);
|
console.log(phoneNumber, password, role);
|
||||||
if (phoneNumber === "89283244141" || phoneNumber === "89872855893") {
|
if (phoneNumber === "89999999999" || phoneNumber === "89559999999") {
|
||||||
response.status(400).send(require("./json/register/error.json"));
|
response.status(401).send(require("../json/register/error.json"));
|
||||||
} else if (role === "dogsitter") {
|
} else if (role === "dogsitter") {
|
||||||
response.send(require("./json/register/dogsitter.success.json"));
|
response.send(require("../json/register/dogsitter.success.json"));
|
||||||
} else {
|
} else {
|
||||||
response.send(require("./json/register/owner.success.json"));
|
response.send(require("../json/register/owner.success.json"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get("/auth/session", (request, response) => {
|
||||||
|
const authHeader = request.headers.authorization;
|
||||||
|
|
||||||
|
if (!authHeader) {
|
||||||
|
return response.status(401).json({ error: "Authorization header missing" });
|
||||||
|
}
|
||||||
|
|
||||||
|
// Берём сам токен из заголовка
|
||||||
|
const token = authHeader.split(" ")[1];
|
||||||
|
|
||||||
|
if (!token) {
|
||||||
|
return response.status(401).json({ error: "Bearer token missing" });
|
||||||
|
}
|
||||||
|
|
||||||
|
const jwt = require("jsonwebtoken");
|
||||||
|
const secretKey = "secret";
|
||||||
|
|
||||||
|
try {
|
||||||
|
const decoded = jwt.verify(token, secretKey);
|
||||||
|
|
||||||
|
if (decoded.role === "dogsitter") {
|
||||||
|
response.send(require("../json/role/dogsitter.success.json"));
|
||||||
|
} else {
|
||||||
|
response.send(require("../json/role/owner.success.json"));
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log("token e:", e);
|
||||||
|
return response.status(403).json({ error: "Invalid token" });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwicm9sZSI6ImRvZ3NpdHRlciIsImlhdCI6MTUxNjIzOTAyMn0.7q66wTNyLZp3TGFYF_JdU-yhlWViJulTxP_PCQzO4OI"
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
"status": "error",
|
"status": "error",
|
||||||
"message": "Invalid code."
|
"message": "Invalid code",
|
||||||
|
"statusCode": 401
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Mywicm9sZSI6Im93bmVyIiwiaWF0IjoxNTE2MjM5MDIyfQ.sI9839YXveTpEWhdpr5QbCYllt6hHYO7NsrQDcrXZIQ"
|
||||||
|
}
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"status": "success",
|
|
||||||
"message": "Two-factor authentication passed."
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"data": {
|
|
||||||
"id": 1,
|
|
||||||
"phoneNumber": 89283244141,
|
|
||||||
"firstName": "Вася",
|
|
||||||
"secondName": "Пупкин",
|
|
||||||
"role": "dogsitter",
|
|
||||||
"location": "Россия, республика Татарстан, Казань, улица Пушкина, 12",
|
|
||||||
"price": 1500,
|
|
||||||
"aboutMe": "Я люблю собак"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +1,5 @@
|
|||||||
{
|
{
|
||||||
"error": "Пользователь не найден"
|
"message": "Неверный логин или пароль",
|
||||||
}
|
"error": "Unauthorized",
|
||||||
|
"statusCode": 401
|
||||||
|
}
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"data": {
|
|
||||||
"id": 3,
|
|
||||||
"phoneNumber": 89872855893,
|
|
||||||
"firstName": "Гадий",
|
|
||||||
"secondName": "Петрович",
|
|
||||||
"role": "owner"
|
|
||||||
}
|
|
||||||
}
|
|
5
server/routers/dogsitters-finder/json/auth/success.json
Normal file
5
server/routers/dogsitters-finder/json/auth/success.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"status": "success",
|
||||||
|
"message": "Первый фактор аутентификации пройден",
|
||||||
|
"statusCode": 200
|
||||||
|
}
|
@ -1,12 +1,3 @@
|
|||||||
{
|
{
|
||||||
"data": {
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwicm9sZSI6ImRvZ3NpdHRlciIsImlhdCI6MTUxNjIzOTAyMn0.T9V3-f3rD1deA5a2J-tYNw0cACEpzKHbhMPkc7gh8c0"
|
||||||
"id": 5,
|
|
||||||
"phoneNumber": 89555555555,
|
|
||||||
"firstName": "Масяня",
|
|
||||||
"secondName": "Карлова",
|
|
||||||
"role": "dogsitter",
|
|
||||||
"location": "Россия, республика Татарстан, Казань, улица Пушкина, 12",
|
|
||||||
"price": 100,
|
|
||||||
"aboutMe": "Все на свете - собаки"
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
{
|
{
|
||||||
"error": "Пользователь с таким номером телефона уже существует"
|
"message": "Такой пользователь уже был зарегистрирован",
|
||||||
|
"error": "Unauthorized",
|
||||||
|
"statusCode": 401
|
||||||
}
|
}
|
@ -1,9 +1,3 @@
|
|||||||
{
|
{
|
||||||
"data": {
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Niwicm9sZSI6Im93bmVyIiwiaWF0IjoxNTE2MjM5MDIyfQ.qgOhk9tNcaMRbarRWISTgvGx5Eq_X8fcA5lhdVs2tQI"
|
||||||
"id": 6,
|
|
||||||
"phoneNumber": 89888888888,
|
|
||||||
"firstName": "Генадий",
|
|
||||||
"secondName": "Паровозов",
|
|
||||||
"role": "owner"
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"role": "dogsitter"
|
||||||
|
}
|
5
server/routers/dogsitters-finder/json/role/error.json
Normal file
5
server/routers/dogsitters-finder/json/role/error.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"message": "Неверный jwt token",
|
||||||
|
"error": "Forbidden",
|
||||||
|
"statusCode": 403
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"role": "owner"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user