Node.js: usare le API key nelle nostre app

In Node.js possiamo verificare la presenza delle chiavi API usate dalle nostre app.

Node.js di Gabriele Romanato

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