具有auth的RESTful Web服务,适用于移动应用程序

时间:2013-03-14 13:45:54

标签: java facebook mobile restful-authentication

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

例如:

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

用户登录移动应用程序的方式有两种:

  1. 使用facebook帐户登录
  2. 使用应用程序帐户登录
  3. 我需要开发两个登录和注销服务,因为使用移动应用程序的用户必须登录该应用程序。

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

    例如:

    • localLogin(String username,String password) - >令牌
    • facebookLogin(String username,String password) - >令牌

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

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

    如果是的话,你能帮助我怎样才能开始用Java开发它?

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

一旦您确认用户已登录,您就可以随心所欲。