私は概念的な質問があり、誰かが助けてくれるほど親切であるかどうかを知りたいと思っていました。モバイルAPP - API認証の概念
簡単な例を使用して私の見解を説明します。
私はNode.JS + Express + MongoDBをバックエンドとして、単純なRESTFul APIを開発しました。 APIは、Androidゲームアプリからのヒットコアを保存します。トークンは秘密鍵と信頼できるユーザ名/パスワード(ハードコードされているかどうか)から生成されるトークンベースの認証を使用します。私はまだ安全性について考えて疑問を持っている
しかし、すべての開発者が簡単にAPIのバックエンドエンドポイントを見つけて、自分のユーザー名とパスワード(またはでそれを使用することができますので、...
リバースエンジニアリングは、ケーキの一部でありますハードコーディングされたもの)を使用してトークンを取得します。
次に、トークンは、APIを介して偽のハイスコアを挿入するために使用されます。
私の質問は以下のとおりです。
- は、このセキュリティホールを回避するための方法はありますか?
- RESTFull APIを使用して、サーバーのバックエンドとモバイルアプリを接続する正しい方法はありますか?
- これは、バックエンドDBにデータを保存するAPP-Server通信を開発する正しい方法ですか?
ハードコードされたユーザー名とパスワードが含まれているコードを見つけることはできますが、これは解決できません。
PD:ユーザーは私の質問が広すぎると言います。私は3つの具体的な質問をしました。トピックは、APIに接続するためのアプリ情報の可視性を避けることです。私はあまりにも答えがあることを知っていますが、私は解答がほしくない、唯一の調査方法です。
あなたはあなたの最初の質問を守ることができます。あなたの2番目の質問の答えははいです。 Rest APIを実装する必要があります。 –
よろしくお願いいたします。秘密のオブジェクトやメソッドを暗号化して他の人がデバッグするのを難しくするのが最良の解決策です。ありがとう – WikiCode
よく知られているAPIユーザーアクセスが統計を更新することを許可しないでください。または、トークンベースの認証を拒否し、アプリを使用して許可するだけです。おそらくスコープを使用することもできます。 –