如何让一个原生的Android应用程序与Web后端进行身份验证?

时间:2010-09-09 21:50:13

标签: php android authentication mobile

我正在开发一个原生的Android应用程序,以便从我公司的网站上为用户检索数据。

因为数据是特定于用户的,所以我需要使用我们的Web服务器进行身份验证,但我不确定最好的方法。我一直在阅读REST / SOAP / HTML表单身份验证,但我无法在任何地方找到任何明确的“这就是它的完成方式”。我知道移动应用程序总是这样做 - 只要看看facebook / skype /任何电子邮件应用程序 - 你必须先登录才能做任何事情。

我的问题是 - 我应该如何构建服务器端代码(php)以便轻松地允许我从我的Android设备验证用户?

我对“网络服务”领域相当陌生 - 这属于那个类别吗?有没有你们建议看的教程?

谢谢!

2 个答案:

答案 0 :(得分:5)

虽然我还没有为Android开发,但我可以建议您只依赖一些无状态身份验证方案,例如HTTP Basic或Digest。这意味着凭据将与每个请求一起传递,并且您可以避免跟踪状态,这意味着您可以保持API的美观和REST。

我怀疑如果我正在编写一个Android应用程序,在大多数情况下,我可能首先尝试使用HTTP Basic auth和JSON编码(至少因为PHP制作)使用至少模糊的RESTful进行通信。 de)序列化JSON这么简单。)

当然,根据你的问题领域,这可能不是理想的,但它首先尝试是一个很好的架构,因为它非常容易全面。如果它失败了,您可以返回并开始交换部件,直到找到合适的架构。

答案 1 :(得分:1)

某些移动应用使用OAuth对网络服务器进行身份验证,例如twitter。这可能不是您正在寻找的,但是这里的例子就是:您将登录到Web服务并验证移动应用程序(可能已请求访问权限)以便能够在Web上使用您的数据服务,就像访问密钥(实际上称为令牌),移动应用程序随后利用该密钥代表您与Web服务进行通信;然后,令牌可以作为URL的一部分传递。您仍然可能需要考虑SSL或某种程度的加密。

This帖子对您也有帮助