FirebaseでBasic認証するメモ。
FirebaseでBasic認証するためにはFunctionsを利用します。まずは、追加で必要なパッケージをインストールします。
cd functions
npm install express
npm install basic-auth-connect
Basic認証用にfirebase.jsonを修正
firebase.json
{
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
]
},
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"function": "app"
}
]
}
}
Basic認証用にfunctions/index.jsを修正
index.js
const functions = require('firebase-functions');
const express = require('express');
const basicAuth = require('basic-auth-connect');
const path = require('path');
const app = express();
app.all('/*', basicAuth((user, password) => {
return user === 'ここにユーザー名記載' && password === 'ここにパスワード記載';
}));
app.use(express.static(path.join(__dirname, '/static/')));
exports.app = functions.https.onRequest(app);
「public」下にあるファイルをすべて削除し、「functions/static/」下に表示したいファイルを配置
デプロイ
firebase deploy
デプロイされたページにアクセス
firebase open hosting:site
Basic認証が適用されます。
- 参考文献
Firebase