は、私は公式のCORSモジュールの例からホワイトリストエクスプレスCORSドメインのホワイトリスト
以外のすべてのドメインを制限する必要がhttps://www.npmjs.com/package/cors 要求:私はこれに変更されている
var whitelist = ['http://example1.com', 'http://example2.com'];
var corsOptions = {
origin: function(origin, callback){
var originIsWhitelisted = whitelist.indexOf(origin) !== -1;
callback(null, originIsWhitelisted);
}
};
app.get('/products/:id', cors(corsOptions), function(req, res, next){
res.json({msg: 'This is CORS-enabled for a whitelisted domain.'});
});
それを動作させる:
var origin;
var corsOptions;
app.all('*', function (req, res, next) {
origin = req.get('origin');
var whitelist = ['http://example1.com', 'http://example2.com'];
corsOptions = {
origin: function (origin, callback) {
var originIsWhitelisted = whitelist.indexOf(origin) !== -1;
callback(null, originIsWhitelisted);
}
};
next();
});
app.post('/products/:id', cors(corsOptions), function (req, res, next) {
res.json({ msg: 'This is CORS-enabled for a whitelisted domain.' });
});
その後、私は私がexpecte app.post('/products/:id'...)
に掲載することにより、http://localhost:8080
からテストを実行しますhttp://localhost:8080
はホワイトリストに登録されていませんが実際には実行されているため実行されるべきではありません。どのようなアイデアをなぜ、どのように修正するか?
cors(corsOptions)
をdidaddが、それは言っている -
not available
なぜ 'cors'モジュールのreadmeの元の例はあなたのためには機能しませんか?あなたのコードは、要求が受信されるまでそれを延期することを除いて、実際には同じ正確なことをしています。 – mscdex
@mscdex私はもう少しデバッグを行い、実際にはオリジナルのものが動作しています。しかし、私はちょっと混乱しています。 'res.json({msg: 'これはホワイトリストに登録されたドメインに対してCORS対応です。'))'実行されていますが、 -Origin 'ヘッダーが要求されたリソースに存在します。 Origin ' – sreginogemoh