如何设计用于移动应用程序的web api?

我们正在构建移动应用程序,特别是Android应用程序,它需要连接到服务器才能获取数据。 它不像twitter,我们不需要暴露某种公共api。 我们只需要保持简单和安全,因为用户将与服务器交换一些私人数据。

我的问题主要是认证。 我们的服务器将有一个用户数据库。

  1. 如何在我的移动应用程序中注册和登录? 应该在服务器端和客户端实现什么样的机制。
  2. 登录后如何保持会话?
  3. 如果我需要让用户在下次打开应用程序时无需输入用户名/密码即可登录,我该怎么办? 我只是认为将他的密码存储在移动客户端并不是一个好主意。

快速脑转储:

  1. 生成一个快速API密钥(如GUID)并通过HTTPS与您的服务通信。
  2. 咦? 这与#3有什么不同?
  3. 使用简单的混淆方法将它们存储到Android应用程序的本地存储中。

如果您愿意,可以存储用户名并将其加载到应用程序会话中,并在应用程序的每个“会话”中提示输入密码。

  1. 正如Nate所建议的那样。

  2. 3.成功登录后,您的API可以返回唯一的会话ID(尽可能多的webapps),您可以将其存储在您的应用程序中,并在每次进一步请求时提交给您的API。 这种方式只要客户端保存会话ID并且在服务器端就不会被删除 – 用户不需要再次登录。