2016-08-10 11 views
-1

残りのAPIを使用して自分のWebアプリケーションにログインするアンドロイドアプリを作りたいと思います。ブラウザでは、ユーザーがセッションを識別/維持するためにサーバーが使用するCookieの概念があります。APIを使用してAndroidでブラウザログインをシミュレートする方法

どのように私たちはそれを達成するでしょう?私は、(資格証明が初めて検証されたときに)サーバーが応答して送信するトークンの概念があり、Androidアプリケーションはリソースにアクセスしようとするたびにサーバーに送信する必要があると聞きました。だから、それをする良い方法は何ですか?

クライアントがリソースを要求したときにトークンを何度も検証する必要がありますか?

+0

[this](http://www.androidhive.info/2015/08/android-adding-sms-verification-like-whatsapp-part-2/)チュートリアルを参照してください。 –

+0

クライアントがリソースを要求したときに '何度もトークンを検証する '問題は何ですか?私は入ってくるリクエストを認証するための他の方法は見ません。 – fiddler

答えて

0

正直なところ、私はこれを行うより良い方法を考えることができません。トークンベースの認証は、RESTful APIを扱うときはかなり標準的なようです。あなたがそれをすることができない理由はありますか?

サーバーコードを変更したくない場合は、送信するリクエストごとにCookieヘッダーを追加することでシミュレーションできます。しかし、これは基本的にあなたが上で述べたのと同じことです。ちょうど清潔ではありません。

また、ブラウザはすでに何度も検証するためにトークンを送信しています。すべてのリクエストには、リクエストごとにWebアプリケーションを介して検証されるCookieヘッダーがありますので、これは大したことではありません。

そして、これを達成するためにAndroid固有のものは必要ありません。あなたが使用しているどんなHTTPライブラリでも、カスタムヘッダを設定するために呼び出すことのできるメソッドやオーバーライドできるメソッドがあると確信しています。これを使用して、必要なリクエストごとにCookieヘッダまたはトークンヘッダを設定します。

+0

はい、サーバー側では、春のセキュリティなどのセキュリティプラグインを使用するのではなく、コントローラ/アクションごとに何度も何度もチェックする必要があります。 –

+0

サーバー上でどのようなテクノロジーを使用していますか?すべての要求に対して明示的に行う必要はありません。 – arjabbar

+0

私はサーバ側でgrails、groovyを使用しています。 –

関連する問題