私のAndroidアプリは私のバックエンドに対していくつかのREST呼び出しを行います。私は、私のアプリケーションだけがエンドポイントを呼び出す権限があることを願っています。AndroidとSafetyNetは、APIへの呼び出しが私のアプリからのものであることを確認します
GoogleのSafetyNetを使用してアーカイブする予定です。
1) My app ask my server fora random nonce
2) My app ask for an .attest()
3) My app receive the JWT
4) My app call one of my endpoint by providing the JWT
5) My server calls Google server to verify the JWT is correct
6) If yes, the call is processed, rejected otherwise..
私の質問は:.attest上のレート制限は、()がありますか? 私のアプリは2秒または3秒の秒ごとに複数のPOSTリクエストを行います
上記のロジックはこのスケールで動作しますか?私のエンドポイントに投稿されたデータが私のアプリケーションから来ていることと私のアプリケーションから来ていることを保証できる他の方法はありますか?
これは私が「はい」と思ったものです。私のAPIがエンドポイント(ポスト)を1つしか持たず、すべてのユーザーが投稿したデータが共通のマップ上で共有されるという私のユースケースの「問題」。安全なネットのようなものがなければ誰かが偽のデータを投稿し始めるのが簡単です。私の他の代替案は、POSTのエンドポイントを1秒ごとに呼び出すのではなく、1分ごとにアンドロイド側でデータを集約してバルクで送信することだと思います。 – Johny19
@ Johny19あなたのアプリが地図のデータを投稿する前にサインインの手順が必要ですか?そうでなくても、最初の「開始」リクエスト(SafetyNet Attestationで保護されているアプリが初めて開かれたとき)に応答してトークンを発行することができます。 私はSafetyNet Attestationだけが魔法の悪用防止APIではないことに注意したいと思います。したがって、これだけではあなたが想定しているすべての問題を解決することはできません。 –