1

我已经为 Java 中的移动应用程序开发了许多无状态的 RESTful Web 服务,它们运行良好。

例如:

现在,我必须扩展这些服务,因为我必须为每个用户将不同的数据发送回移动设备。所以我需要在服务器端知道哪个用户试图获取或设置信息。而且我必须防止未经授权的用户的服务。

用户可以通过两种不同的方式登录移动应用程序:

  1. 使用 Facebook 帐户登录
  2. 使用应用程序帐户登录

我需要开发两个登录和注销服务,因为使用移动应用程序的用户必须登录到应用程序。

我阅读了很多关于 auth 和 RESTful 和 OAuth 的文章。我想我必须开发两个带有两个输入参数的登录服务:用户名和密码。

例如:

  • localLogin(字符串用户名,字符串密码)-> 令牌
  • facebookLogin(字符串用户名,字符串密码)-> 令牌

这些登录服务必须生成相同的令牌并在 http 标头中将其发送回移动应用程序。在登录过程之后,移动客户端有一个令牌。并且客户端在进行 RESTful 服务器调用时必须将此令牌发送到服务器。

你怎么看?我的想法好吗?

如果是,您能帮我如何开始用 Java 开发它吗?

如果不是,你能告诉我好的方法吗?

4

1 回答 1

2

您不需要 2 个登录程序。只需使用 Facebook SDK!

i) 在您的应用程序中将使用 facebook 按钮登录。

ii) 用户点击它,然后被重定向到 facebook 登录页面,用户在其中输入他的凭据,facebook 会向您返回一个令牌。您不必担心用户的 facebook 凭据或将它们存储在任何地方!Facebook 将为您处理。将 FB 登录部分视为您的应用程序的黑匣子 - 您只需进行 FB SDK 的登录调用,它将执行一些流程并将访问令牌返回给您的应用程序。

iii) 现在,您可以将访问令牌交换为用户的个人资料信息。将此配置文件信息输入您的数据库 - 这将确保经过身份验证的呼叫。

一旦您确认用户已登录,您就可以做任何您想做的事情。

于 2013-04-25T17:43:53.250 回答