如何从Android应用程序验证REST Web服务?

时间:2010-09-24 22:02:34

标签: android authentication rest

我需要在我的Android应用程序中从REST Web服务中提取数据。 Web服务需要身份验证 我需要先调用一个登录方法,它将返回一个authToken和JSESSIONID作为响应头的一部分。我需要在每次请求时都将这些项目传回去。我目前正在使用:org.apache.http.impl.client.DefaultHttpClient.DefaultHttpClient()来调用login方法。我可以看到在响应头中返回了authToken和JSESSIONID。 是否有任何现有的工具或类可以提供某种管理功能,我可以轻松地与我的Android应用程序集成?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用SharedPreferences将值存储为键/值对,然后创建某种便捷方法,将这些值附加到您的Web请求中。从响应中获取这些值后,将它们与

一起存储
SharedPreferences apiVals = getSharedPreferences("apiVals", MODE_PRIVATE);
apivals.edit()
       .putString("authToken", authToken)
       .putString("jSessionId", jSessionId)
       .commit();

并检索它们,

SharedPreferences apiVals = getSharedPreferences("apiVals", MODE_PRIVATE);
String authToken = apiVals.getString("authToken", null);

查看http://developer.android.com/reference/android/content/SharedPreferences.html了解详情。

答案 1 :(得分:0)

您可能还想查看SimpleSyncAdapter示例项目(包含在Android SDK中),了解Android帐户管理器如何用于处理身份验证和凭据存储。我相信这是Android用户支持的用例。