Node.js: usare le API key nelle nostre app

Node.js: usare le API key nelle 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.

Torna su