[Node.js] Jak ustawić ‚Access-Control-Allow-Origin’ ?

Programowanie
[Node.js] Jak ustawić ‚Access-Control-Allow-Origin’ ?

Ustawienie „Access-Control-Allow-Origin” dla aplikacji napisanej w node.js jest tak samo proste jak w przypadku każdej innej technologii. Cała operacja sprowadza się do zdefiniowania odpowiedniego nagłówka odpowiedzi „response”.

Nasz kod może wyglądać następująco:

var app = express();
app.use(function (req, res, next) {

    res.setHeader('Access-Control-Allow-Origin', 'http://porady-it.pl');
    res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS,PUT,PATCH,DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type');
    res.setHeader('Access-Control-Allow-Credentials', true);

    next();
});

Mamy tutaj do czynienia z aplikacją opartą o framework express.js, świadczy o tym pierwsza linia kodu:

var app = express();

Następnie została zdefiniowana funkcja, którą framework ma wykonać i to w jej ciele została zaszyta definicja nagłówka odpowiedzi. W nagłówku tym zezwolono na połączenia ze strony „porady-it.pl”

res.setHeader('Access-Control-Allow-Origin', 'http://porady-it.pl');

Dozwolone metody połączenia to GET,POST,OPTIONS,PUT,PATCH,DELETE

res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS,PUT,PATCH,DELETE');

Określamy dozwolone nagłówki połączenia:

res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type');

Możemy także określić czy obsługiwane będą pliki Cookies:

res.setHeader('Access-Control-Allow-Credentials', true);

Oczywiście nie wszystkie parametry musimy definiować wszystko zależy od naszych potrzeb.