6

私は Play でプライベート REST API を作成しています! モバイル アプリケーションから に電話をかけますが、セキュリティを維持する方法について混乱しています。

Play! のドキュメントにある Yet Another Blog Engine の例に取り組んでいるときに、私は認証の例に取り組んでおり、ブラウザを介したログインを扱っています。Play! のセキュア モジュールについて私が理解していることから、ブラウザー セッションに役立ちます。さらに、私が見たすべての StackOverflow の質問は、Web 上の管理モジュールに関連しており、質問はセッションにも関連しています。

遊びます!フレームワークには、セッションのハイジャックを防ぐメカニズムが組み込まれていますか?

Play フレームワークでのログインに Https ルーティングを適用する

セキュリティがどのように機能するかについての私の現在の理解:

  • モバイル アプリは Web アプリに「ログイン」し、ある種のトークンを取得します。
  • 後続の各呼び出しで、API 呼び出しの最後にトークンが追加されます
  • モバイル ユーザーが「ログアウト」するか、トークンの有効期限が切れると、Web アプリはトークンを削除します。
  • すべての API 呼び出しは、セキュリティを維持するために HTTPS を使用します

Play! で作成した Web アプリケーションに対して、モバイル アプリケーションから HTTP リクエストを送信することはできますか? フレームワークを安全に保ちますか?

私は状況全体に間違ってアプローチしていますか?

初プレイです!アプリを作成しましたが、Heroku を使用するのはこれが初めてです。この問題を解決するのに非常に簡単/効率的/適切である場合、他のものに切り替えることに反対するという点で、私はそれほど遠くありません。

編集:また、Play! の YABE チュートリアルでは、パスワードを平文でチェックしているようです。一般的な観点から、それがセキュリティ上の問題ではないのはなぜですか?

編集 2: OAuth プロバイダー情報を調べたところ、問題が解決したようです。唯一の懸念は、v2.0 には既知のセキュリティ上の欠陥があり、v1.0 は、必要なのはモバイル アプリと Web アプリの間の安全な接続だけであるという状況での実装が複雑に見えることです。すべての呼び出しに SSL を要求する場合、各 Play メソッドでユーザー名とパスワードをパラメーターとして取り、OAuth を完全に無視するようにできますか?

4

1 に答える 1

2

モバイルアプリケーションにWebアプリケーションで自分自身を承認させる例は、OAuthのような承認フレームワークで実現されます。これにより、Webアプリはユーザーにログインさせ、モバイルアプリにアクセストークンを発行して、モバイルアプリがユーザーのパスワードを処理しなくても、そのユーザーとしてリクエストを行うことができます。

Play用のOAuthプロバイダーモジュールをご覧ください。Googleの場合、Play用のOAuthクライアントモジュールを見つけるかもしれませんが、それはOAuthの反対側用であり、Webアプリがサードパーティプロバイダーに対して認証できるようにします。次に、モバイルアプリでOAuthクライアントライブラリを使用して、アクセストークンの取得を処理します。

これは、OAuthの汎用Javaライブラリである可能性もあります。OAuthのPlay 2.0ドキュメントには、ライブラリを必要としないほど単純であるため、OAuth2.0モジュールが提供されていないと記載されています。ただし、利用可能なJavaライブラリがいくつかあります

これは、誰かがPlayでOAuthプロバイダーのものをまとめたプロジェクトです(このフォーラムの投稿から参照):

https://github.com/mashup-fm/playframework-oauthprovider

于 2013-03-09T20:05:49.537 に答える