0

firebaseを使用してWebアプリケーションを構築しています。私たちはfirebaseホスティングを使用して、CSS、画像、JavaScriptなどの静的ファイルをホストしています。私たちはfirebase関数を使ってWebアプリケーションを動的にしています。Javascriptを使用したFirebase認証

const app = express(); 
... 
app.use(express.static(__dirname + '/public')); 

app.get('/', (req,res) => { 
    res.render('index'); 
}); 

パブリックフォルダにsignIn.jsがあり、Firebase Hostingでホストされています。 signin.jsの"firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier) {}"機能にアクセスしようとすると、「Firebase」が見つからないというエラーが表示されます。

Firebaseを使用してユーザの電話機でOTPを送信したいとします。今私はホストされたJSファイルのクライアント側でそれを処理すべきか、それともserver.jsのサーバー側で処理する必要があるのか​​混乱しています。

Firebaseベースでホストされている静的なjsファイルからfirebase関数でホストされているserver.jsファイルの関数を呼び出すにはどうすればよいですか?

+0

https://github.com/rhroyston/firebase-v4-authは最新です。 pplはこのようなものですhttps://github.com/rhroyston/firebase-auth –

答えて

0

firebase.auth().signInWithPhoneNumberはクライアント側のみです。また、クライアント側でのみ実行できる非表示のreCAPTCHAもレンダリングする必要があります。 Firebase Admin SDKを使用している場合は、ユーザを作成したり、電話番号で既存のユーザを更新したりできます。ただし、自分で確認したものとみなします。

ファイアベース機能を使用していくつかのhttpエンドポイントに認証されたアクセスを提供する必要がある場合は、電話機の認証されたユーザのFirebase IDトークンをそのエンドポイントに送信して(クライアントでcurrentUser.getIdToken()経由で取得できます) Admin SDK verifyIdToken(idToken)

+0

私はFirebase電話認証を使用しています。今、私は、クライアント側でユーザの電話でOTPを送信して確認することができます。しかし、私の懸念は、私firebase APIキー、authDomain、firefoxを設定するために私のjavascriptファイルにdatabaseURLを追加する必要があるということです。ユーザーはこれらの価値に簡単にアクセスでき、セキュリティを侵害する可能性があります。 @bojeil –

+0

WebのFirebase Authは、reCAPTCHAを使用して、ページのドメインがホワイトリストに登録されたドメインのリストと一致していることを確認し、不正な濫用も提供します。さらに、あなたのアプリドメインはSMSメッセージに追加されます。これらはすべて、攻撃者があなたのアプリに偽装するのを防ぎます。 – bojeil

関連する問題