Rails で JSON REST API を開発しており、これも開発中の Android アプリケーションで使用されます。特定の Android アプリケーションでのみ使用できるように API を保護する方法はありますか?
API は読み取り専用であり、いかなる種類のユーザー関連情報やその他の機密情報も含みません。しかし、合理的な範囲で、悪用を防ぎ、その使用を私たちのアプリだけに制限したいと考えています。
認証トークンを API に簡単に追加してアプリで配布することはできましたが、次のようになります。
- BASIC 認証を使用する場合は、おそらく API を SSL に移行する必要があります。
- 決心した人が Android APK バイナリを開いて、とにかく認証トークンを明らかにするのはおそらく些細なことです。
この状況は、カフェが店のカウンターに Wi-Fi パスワードを掲示しているのと似ているように思えます。サービスを利用したい人全員に秘密を教えなければならないので、そもそも秘密を持っていてもほとんど意味がないように思えます。
取るべき最も合理的なアプローチは何ですか?