java - 具有移动应用程序身份验证的 RESTful Web 服务

标签 java facebook mobile restful-authentication

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

例如:

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

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

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

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

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

例如:

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

这些登录服务必须生成相同的 token 并将其在 http header 中发送回移动应用程序。登录过程结束后,移动客户端将获得一个 token 。客户端在进行 RESTful 服务器调用时必须将此 token 发送到服务器。

你觉得怎么样?我的想法好不好?

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

如果不行的话,能告诉我好的方法吗?

最佳答案

您不需要两次登录程序。只需使用 Facebook SDK!!

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

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

iii) 现在,您可以用访问 token 交换用户的个人资料信息。将此个人资料信息输入您的数据库 - 这将确保调用经过身份验证。

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

关于java - 具有移动应用程序身份验证的 RESTful Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15411068/

相关文章:

ios - 覆盖 UIWebView 用户代理 - 但不适用于 Facebook SDK

c# - Xamarin 表格 : Embed symbols in text

java - 在 Eclipse 中编码 java 时,为什么我的类文件中需要 package 行?

java - Mockito 验证在第二个单元测试中失败

ios - 按下按钮时打开 Facebook 应用程序页面。 swift 5

javascript - 多用户 Facebook 共享器

linux - 移动宽带Sierra Gobi 3000驱动程序在内核3.2下编译

mobile - 移动网络上的 SSL 故障

java - 如何正确清除java中的列表

java - 仅当在 Swing 中选择了所有子节点时才选择父节点