質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

1回答

832閲覧

Firebase Hostingでリダイレクト処理ができない

okk

総合スコア6

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2018/11/05 09:25

編集2022/01/12 10:55

Firebase Hostingを用い、React(ルーティングにはreact-router-domを使用)にてWEBアプリを公開しようとしています。basic認証を行いたいのですが、index.htmlを起点としたSPAなので、cloud functionsを通してルーティング処理をしようとしていますが、うまくいきません。

実装の内容としては以下リンクにあるような「basic-auth-connect」を用いたものです。
https://gist.github.com/mkamakura/c7a57bd1bf64b017f180573adf8ba3d8

json

1{ 2 "hosting": { 3 "public": "build", 4 "ignore": [ 5 "firebase.json", 6 "**/.*", 7 "**/node_modules/**" 8 ], 9 "redirects": [{ 10 "source": "/", 11 "destination": "/auth" 12 }], 13 "rewrites": [ 14 { 15 "source": "**", 16 "function": "app" 17 } 18 ] 19 } 20} 21

node

1const functions = require('firebase-functions') 2const express = require('express') 3const basicAuth = require('basic-auth-connect') 4 5const app = express() 6 7app.use(basicAuth('username', 'password')) 8 9app.get('/auth', (req, res) => { 10 res.redirect('/index.html') 11}) 12 13exports.app = functions.https.onRequest(app)

firebaseのfunctionsのコンソールからログを確認してみると、そもそもリダイレクトしてfunctionsの関数を通っていないようなのですが、ルーティング処理が上手くいないのは何が原因なのでしょうか。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

redirectsにtypeを指定することが必須となったみたいです。

Hosting動作をカスタマイズする

以下のように書くと動くかと思います。

json

1{ 2 "hosting": { 3 "public": "build", 4 "ignore": [ 5 "firebase.json", 6 "**/.*", 7 "**/node_modules/**" 8 ], 9 "redirects": [{ 10 "source": "/", 11 "destination": "/auth", 12 "type": 301 13 }], 14 "rewrites": [ 15 { 16 "source": "**", 17 "function": "app" 18 } 19 ] 20 } 21}

投稿2019/02/25 17:37

jonghyo

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問