[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:

<br />
var app = express();<br />
app.use(function (req, res, next) {</p>
<p>    res.setHeader('Access-Control-Allow-Origin', 'http://porady-it.pl');<br />
    res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS,PUT,PATCH,DELETE');<br />
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type');<br />
    res.setHeader('Access-Control-Allow-Credentials', true);</p>
<p>    next();<br />
});<br />

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.