Создание API с системой аутентификации. Извините, если название сбивает с толку. У меня работает токен заголовков авторизации, и я тестировал его с помощью curl -X GET 'https://example.com/api/images/cat' -H 'Authorization: Bearer YOUR_TOKEN'
и суперагента. Просто интересно, как я могу реализовать способ использования токена в запросе.
Вот так: https://example.com/api/images/cat?apiKey=YOUR_TOKEN
Вот код:
const { DB } = require('../src/Routes/index.js');
module.exports = function auth(req, res, next) {
let token;
if (req.headers.authorization && req.headers.authorization.startsWith('Bearer')) {
token = req.headers.authorization.split(' ')[1];
}
if (!token) {
return res.status(401).json({"error": "401 Unauthorized", message: "API Token is missing in the query. You will need to generate a Token and put in the apiKey query."});
}
try {
let check = DB.filter(k => k).map(i => i.apiToken);
let decoded = check.some(e => e == token)
if(decoded !== true) return res.status(401).json({"error": "401 Unauthorized", message: "The API Key you provided is invalid. Please refer to our Docs () and Generate a Token ()"});
next();
} catch (err) {
return res.status(401).json({"error": "401 Unauthorized", message: "API Token is missing in the query. You will need to generate a Token and put in the apiKey query."});
console.log(`Console Error - Catch Error 401 Unauthorized.`)
}
}