如何为iOS和Android移动应用创建REST身份验证。

3

我正在开发一款iOS和Android版本的应用程序。 我想创建或实现一个现有的REST身份验证流程,供两个应用程序使用。 我知道可以通过简单的Get服务来实现这一点,但这将会明文传递密码。是否有任何API可处理移动应用程序的身份验证?

我不想使用OAuth,因为我不想要求用户额外步骤来允许访问他们的数据。我希望用户可以像大多数移动应用程序一样轻松地输入用户名和密码并进行身份验证。

4个回答

7
如果您确定不需要类似OAuth的东西,那么您只需要两个东西:
1)仅使用https-这可以防止用户名:密码被轻易截获
2)一个POST URL用于发送用户名:密码
POST很重要!如果它仅是GET,则用户名和密码将存储在服务器日志中,并且请求可能会被缓存。
您将得到类似以下的东西:
https://www.example.com/myaccount/login

使用 POST 参数
username=deanWombourne&password=hunter2

我会将已登录状态作为该会话在服务器上的属性存储,以供所有未来请求使用。

2
如果OAuth能够像大多数移动设备上的登录方式一样运作,我并不反对使用它。你是说它可以吗? - Atma
3
感谢您提到聪明的bash.org参考。您可以去猎人2我的猎人2-ing猎人2! - ranieuwe

0

如果您使用安全连接(HTTPS),发送用户名/密码将不会成为问题。其他需要考虑的事情包括,在移动设备上的会话超时和会话缓存以及所需的安全步骤,间歇性网络连接问题等。


1
关于发送用户名和密码,建议使用POST而不是GET方式。我通过痛苦的经历学到了这一点 :) - deanWombourne
我明白了,我并不是想暗示使用GET方法。然而,我不知道服务器日志方面的问题。今天又学到了一件事。谢谢。 - omermuhammed

0

您能否展示一些代码,以便我们更好地了解?现在可以使用OAuth,因为用户更熟悉这种方法,而且更安全,无需使用HTTPS,因为有一部分用户(包括我)不接受在非官方应用程序上输入密码,因此他们可能会忽略您。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接