最近、GWTセキュリティのベストプラクティスに関するGoogle I / Oのビデオを視聴しました。講演者からの強力な推奨事項のひとつは、実際にアプリを2つの異なるアプリに分けることでした。
- ログインアプリ-ログイン画面を表示し、プライマリアプリのユーザーを認証するために使用されます。と
- プライマリアプリ-アプリの残りの部分
彼のこの理由は、GWTの非常識な難読化方法を使用しても、すべてのクライアント側のコードが危険にさらされる可能性があるということです。不必要な攻撃にさらされないようにしてください。2つの別々のアプリを使用することで、攻撃者(ログインしてシステムを使用することさえ許可されていない)は、ログインアプリのクライアント側のコードを取得せずにプルダウンすることしかできません。プライマリアプリのクライアント側コードを手に入れました。
私はこのアプローチが好きですが、GAEにアプリをデプロイすることを計画しています。これにより、複数のアプリ(WAR)を使用して相互に調整することは固く禁じられています(利用規約に明示的に記載されています)。
したがって、Google Developers自体がここで意見の相違を持っているようです!一方では、GWTチームはセキュリティの目的でアプリを分割することを望んでいますが、GAEチームは、請求の目的で2つ以上のアプリが互いに「連携」することを望んでいません。私の印象では、Googleは、開発者がGWTとGAEの両方を使用してプラットフォーム全体を採用することを望んでいます。
それで、ここでの取引は何ですか?!?別のWARを生成せずに(したがってGAEを緩和する)コードベースを分割する方法はありますが、ログインするまでプライマリアプリのコードを表示する方法はありませんか?
「はい」と思いますが、GWTではすべてを一度にダウンロードする必要があります(ラウンドトリップと高価なHTTPリクエストを最小限に抑えるため)。何か案は?前もって感謝します!