Firebase
Functions
名称
下記の 2 つは微妙に違うみたい。
- Cloud Functions
gcloud
cli から操作する
- Cloud Functions for Firebase
firebase
cli から操作する
セットアップ
firebase login
firebase init functions
firebase deploy
Node.js v8.* を使うなら、functions/package.json
に "engines": { "node": "8" }
を追加する
const functions = require('firebase-functions');
// ユーザの削除をトリガにする
exports.helloWorld = functions.auth.user().onDelete((user) => {});
// http通信をトリガにする
exports.helloWorld2 = functions.https.onRequest(async (req, res) => {});
cors を有効にする
const cors = require('cors')(); // invokeを忘れずに
exports.storeImage = functions.https.onRequest((request, response) => {
cors(request, response, async () => {
// do something
});
});
Auth
backend
yarn add firebase-admin
const firebaseAdmin = require('firebase-admin');
firebaseAdmin.initializeApp({
credential: firebaseAdmin.credential.cert({
projectId: '',
clientEmail: '',
private_key_id: '',
privateKey: JSON.parse(process.env.FIREBASE_PRIVATE_KEY),
}),
});
const result = await firebaseAdmin.auth().verifyIdToken(token);
const firebaseUserId = result.user_id;