答えて
あなたはFirebaseストレージにデータをアップロードすると、あなたがそのデータを取得する2つの「リンク」で提供されます。
- プライベートリンクを。このリンクは、認証されたユーザ/デバイスによって内部的にアクセスできるようになります。
- 公開リンク。このリンクは技術的に誰でも のリンクで読むことができますが、リンクは非常に と推測されます。最後のトークンは、推測するのが非常に難しいでしょう。 このトークンを削除してリンクに移動すると、 Firebase Serverがアクセスをブロックすることがわかります。
世界が見るために「そこに」リンクが残っていて不快な場合は、リンクを取り消すことができます。
下の画像を参照してください。私はスクリーンショットを撮ってプライベートの 'gc //'リンクと公開の 'http'リンクを表示しました。その小さな「取り消し」オプションを見ますか?ユーザーには見せたくない特に機密性の高いデータがある場合は、これを使用できます。
更新: これを書いている時点で何のAPI呼び出しが存在しないか、そのパブリックリンクを取り除くためにFirebaseフラグ/機能で構築しているようです。唯一の方法は、一度に1つずつ手動でFBコンソールから取り消すことです。 (ref:https://groups.google.com/forum/#!topic/firebase-talk/aw86jf8b7PY)Mike Mcdonaldはまた、一度ユーザーがイメージを見たら、とにかくダウンロードしたり保存したりする可能性が常にあるため、URLの取り消しには実際のセキュリティの影響があるかどうかは関係ありません。
もう一つの選択肢は、イメージをサーバーにプルし、一時的な(?)リンクを使用して画像を提供し、そのパブリックURLを目だけに保つことです。これにより、サーバー側の作業が増えますが、セキュリティが絶対に必要な場合は、探索したいオプションになる可能性があります。
これが役に立ちます。
によりfirebaseコンソールからトークンに、誰もがこのリンクにアクセスできます。トークンは、リンクから削除された場合は
https://firebasestorage.googleapis.com/v0/b/fb-functions-xxx.appspot.com/o/assets%2Fhello.html?alt=media&token=xxxxxx-95d5-41cd-b827-329bbe6269fb
を、firebaseストレージルールが適用されます。
https://firebasestorage.googleapis.com/v0/b/fb-functions-xxx.appspot.com/o/assets%2Fhello.html?alt=media
- 1. firebaseのストレージとデータベースのルールの通信
- 2. Firebaseストレージポストルールはルール
- 3. Firebaseルールは
- 4. アンドロイドfirebaseストレージとクラウドfirestoreのユーザーのためのルールの書き方
- 5. イオニック2ソーシャルシェアリングプラグインを使用したFirebaseストレージ
- 6. 私はFirebaseドキュメントで少し混乱していますストレージ
- 7. Firebaseストレージのベストプラクティス
- 8. 私は、次のGoLangパッケージを使用していますストレージgolang
- 9. AngularFire2でのFirebaseストレージの使用
- 10. Firebaseストレージjava.util.concurrent.RejectedExecutionException
- 11. Laravel - 私はlaravelストレージを使用してファイルをアップロードしようとしているストレージ
- 12. Firebaseルール
- 13. Unity3dのFirebase認証+ Firebaseストレージ
- 14. Firebaseストレージ:子()のiOSアプリケーションでは動作しません。私は私のFirebaseストレージからイメージをダウンロードしようとすると、次のエラー取得してい
- 15. フラスコのPython Firebaseストレージ
- 16. Firebaseアップロード画像はfirebase-ストレージに
- 17. Firebase - トランザクションのルール
- 18. データ検証用のFirebaseルール
- 19. HttpPostを使用してアンドロイドギャラリーからFirebaseストレージに画像をアップロード
- 20. cordovaFileTransferを使用してfirebase(3.0)ストレージにビデオをアップロード
- 21. オブジェクトライフサイクル管理Firebaseストレージ
- 22. AzureストレージにSASを使用してAzureストレージにアクセスする
- 23. Firebaseセキュリティ&ルール
- 24. FirebaseヘッダーCSPルール
- 25. 私のすべてのストレージは何を使用していますか? [__MutationMarker__]
- 26. FirebaseのストレージURLは静的ですか?
- 27. AndroidのFirebaseストレージの例
- 28. オブジェクト***********/******。JPGが存在しない、Firebaseストレージ
- 29. Firebaseストレージ構造の例
- 30. FirebaseストレージのダウンロードURLフォーマット
ありがとう、ライアン。 getDownloadURL()関数は私に公開URLを与え、
で使用するのは非常に簡単ですが、公開URLだから誰も
タグから取得してログイン保護を回避できます。今、私の質問は、私のWebアプリケーションのプライベートURLを使用する方法ですか?どんな例ですか? –
このコメントは、私がウェブアプリケーションの最後の部分を見なかったので再編集した後に編集しました。これらのイメージは、あなたのwebapp(Firebase Authとは別に)によってすでに認証されているユーザにのみ表示されますか?また、あなたが私の質問に気にしないなら、どのタイプのスタック/フレームワークをあなたのwebappに使用していますか? – Ryan
私はFirebase AuthとAngular 2をWebアプリケーションに使用しています。認証されたユーザー間でのみ画像を共有したいと思っています。モバイルクライアントはIonic 2を使用しています。これはアプリからイメージURLを取得するのが簡単ではないため、問題ありません。 :) また、ダウンロードURLを取り消す代わりに、手動で取り消すことができるAPIがあるかどうかを知りたい場合は、 –