2016-05-14 7 views
3

誰かがoAuthで認証すると、Firebaseは例えばgoogle:111413554342829501512のようなuidを作成するように見えます。 、あなたが行うことができますFirebaseルールでFirebase - auth.uidは共有秘密ですか?

(読み取りおよび/または書き込み):

".read": "root.child('users').child(auth.uid).child('isAdmin').val() == true" 

はそれが私があるためHTTPSの使用のネットワークを盗聴してメッセージを読み取ることができないと仮定しますか?これはどのように動作するのですか?UIDはFirebaseのルールで使用される共有キーですか?

一度認証されると、私のブラウザのLocal StorageのUIDがfirebase:session::ackになっています。

答えて

5

someonesのユーザーIDを知っていることはセキュリティ上のリスクではありません。

たとえば、スタックオーバーフローのユーザーIDが4797603であることがわかりました。その事実だけで、Stack Overflowであなたを見つけることができます。

しかし、それは私がロン・ロイスストンだとふりをすることはできません。後者を行うには、サインインに使用するユーザー名とパスワード(およびその他の要素)を知る必要があります。

Firebaseにも同じことが言えます。 Firebaseでサポートされているアプリケーションの私のUIDがgoogle:105913491982570113897であることを知っているなら、突然私のふりをすることはできません。唯一の方法は、私のアカウントにログインすることです。この場合、Googleの資格情報を知っておく必要があります。

+0

セキュリティプロバイダは、認証プロバイダ名とプロバイダIDがFirebase Auth UIDと同じになっていますか?私はgeoFireライブラリを使用しています。ノード名のためにfirauthのUIDを使用して場所を保存しています。誰でもそれらを読み取ってcircleQueriesを実行できます。私はまた、同じfirauth uid(セキュリティルールがある)を使用しているが、シミュレータを使用して、authペイロードを操作できるユーザ情報を持つ別のノードを持っています。他の誰かがFIRAuthのUIDを知っていると仮定してペイロードを作成し、ユーザー?アドバイスありがとうございます。 – sweepez

関連する問題