Node.js: usare le API key nelle nostre app
In Node.js possiamo verificare la presenza delle chiavi API usate dalle nostre app.
In Node.js possiamo verificare la presenza delle chiavi API usate dalle nostre app.
La soluzione è la seguente:
'use strict';
const mongoose = require('mongoose');
const express = require('express');
const app = express();
mongoose.Promise = Promise;
mongoose.connect('mongodb://localhost:27017/test');
const keys = require('./models/keys');
app.get('/api', async (req, res) => {
// In produzione: aggiungere validazione sintattica della chiave
try {
let key = await keys.findOne({key: req.query.key});
if(key) {
// Processiamo la richiesta
} else {
res.json({
status: 403,
message: 'Unauthorized'
})
}
} catch(err) {
res.json({
status: 500,
message: 'Server error'
})
}
});
Quando si utilizzerà l'URL /api/?key=1234 la chiave API passata come parametro della query string verrà verificata in modo da bloccare accessi non autorizzati.
Commenti