割とCORSを使用したいシチュエーションは多いのではないかと思い共有。
そもそものCloud Functionsの使い方が分からない方はこちらを参照してみてください。
expressのcorsパッケージを使うことによって実現します。
上記パッケージを npm install cors
もしくは yarn add cors
でインストールして、CORSを許可したい関数を以下のようにwrapします。
index.js
const functions = require('firebase-functions');
//importする際に {origin: true} をつける
//もう少し詳細に指定したい場合はこちらをご参照ください https://github.com/expressjs/cors#configuration-options
const cors = require('cors')({origin: true});
exports.withcors = functions.https.onRequest((request, response) => {
//関数内全体をwrap
cors(request, response, () => {
response.status(200).send('success!');
});
});
すごい短くなってしまいましたが、ご覧の通り簡単に実現できるので困ったらお試しください。