私は現在、実行しているWebサイトのAPIを開発しています。APIは多くの場所で使用され、そのうちの1つはAndroidアプリです。
これは、ユーザーがログインしてファイルをダウンロードできるようにすることを目的としています。私はAPIビルドを持っており、HTTPSを使用するので、転送時にすべてのデータに問題はありません。
私が抱えている問題は、API呼び出しにAPIキーが必要なことです。このキーを使用すると、問題を引き起こす可能性のあるAPIの特定の機能にアクセスできるようになります。
私が疑問に思っていたのは、このAPIキーを保護する方法はありますか?私はAndroid開発者ではありませんが、Android上にあるAPIを使用するため、解決策を検討する必要があります。
以下は、APIが使用するフローの例です。
// Log the user in with their username and password (HTTPS, so not really an issue)
romhut.request('/api/users/login?apikey=KEY', {username : 'scott', password : 'password'}, function(r) {
console.log(r);
// Once you have the token, request the API key that allows actions such as downloading
romhut.request('/api/files/download?apikey=KEY', {token : r.token, file : file}, function(d){
console.log(d);
// Download the file
}, 'POST');
}, 'POST');