2016-04-05 14 views
2

Firebaseにウェブサイトを構築しています。これは、サードパーティのAPIへのリクエストを起動する入力要素のみを持つ単純なルックアップサービスです。第三者のAPIキーをファイアベースで非表示にする

は、問題は、私は秒あたりのXリクエストに制限されていると私は私に、APIキーを公開することができないということです

をwww.3rdparty.com/api/[myapikey]/methodユーザー。あなたのクライアント側のコードに、このようなAPIキーを置く

私の使命は、最終的に私は、サードパーティ(キャッシュ機能)に達する要求の数を制限することができるようにfirebaseで応答を格納することです

答えて

3

アプリケーションは、悪意のあるユーザーがあなたの鍵を奪い、それを自分の目的に使用するリスクをもたらします。単にAPIをクライアントサイドのコードに含めない以外は、あなたができることは何もありません。これはAndroidとiOSコードbtwにも同じように適用されます。

APIキーをクライアント側コードに入れることはできないため、サーバー側でAPIキーを実行する必要があります。これは、Firebaseアーキテクチャ内でサーバサイドのコードを使用する場合、非常に一般的なシナリオです。コードでは、共通のクライアントが信頼できない情報にアクセスする必要があります。それは私たちのblog post on common Firebase application architecturesのパターン2によってカバーされています。そのブログ記事から

enter image description here

アクションでこのようなアーキテクチャの例では、キューに処理するために、サーバーのタスクを配置し、クライアントになります。使用可能なリソースがあれば、キューからアイテムを取り出して、その結果をFirebaseデータベースに戻してクライアントがそれらを読み取れるようにすることができます。

+0

私はアーキテクチャを理解していますが、なぜFirebaseはクライアントにAPIクレジットを設定することを推奨していますか? https://firebase.google.com/docs/web/setup < - これはあなたのアカウント/ dbで行動する必要があるすべてのものではありませんか? – Adam

+1

APIキーについては、http://stackoverflow.com/questions/37482366/what-is-the-firebase-apikey-forを参照してください。 –

関連する問題