モバイル アプリでユーザーがウェブ サーバーを経由せずに Google クラウド ストレージに直接アップロードできる場合、ユーザーに一時的な資格情報が与えられるという概念はありますか? または、アプリで自分の資格情報を公開する必要がないように、これを実装する他の方法はありますか?
1 に答える
それが OAUTH の目的だと思います。OAUTH は現在、すべての Google API で使用されています。あなたが示したように、顧客のデバイスで資格情報を保護する良い方法がないため、(サーバーキーではなく) クライアントキーはサービス/API への直接アクセスを許可しません。代わりに、クライアント キー (アプリに同梱されています) は、キーというよりも識別子として使用されます。これにより、クライアントは OAUTH サーバー (この場合は Google が実行) から一時的なアクセス トークンを要求できます。サービス/APIへのアクセスに使用されます。
この追加レイヤーにより、より詳細な制御が可能になります。たとえば、制限 (クライアント IP アドレスなど) をクライアント キーに関連付けることができます。
全体として、これは完璧な解決策のようには見えず、確かに複雑さが増しますが、懸念事項に対処することを目的としています。
Android での実装に関しては、おそらく Java 用の Google クライアント ライブラリを使用しており、Google の OAUTH2 をサポートしています。
詳細については、こちらをお読みください:
https://developers.google.com/accounts/docs/OAuth2