2013-07-10 28 views
0

我试图建立一个Facebook认证的原生移动应用(Windows phone)系统连接到我创建的节点的网络服务。脸谱,节点和移动应用程序 - 齐心协力

我想对于用户:

  • 登录到Facebook上的移动应用通过本地UI或网页窗口
  • 如果成功登录,创建或访问服务器端的用户帐户依赖于这种身份
  • 数据使用验证的会话才能进行后续通过原生移动应用

我的问题是验证requestsvto该用户的数据:什么是最好的办法了è?

我应该......

  1. 登录客户端在本地移动应用Facebook和通过访问令牌节点服务,然后根据自己的Facebook用户以某种方式映射到我的业务数据帐户ID?如果我只是在URL中传递该标记,这看起来非常不安全。
  2. 通过我的应用程序中的移动浏览器窗口登录用户,然后在同一窗口中重定向回我的Node服务?那么如何在我的应用程序中本地生成随后的身份验证请求?
  3. 完全可以做点别的事吗?

对不起这是如此开放式的,但是这是第一次我有这些东西绑在一起,虽然有对我还没有找到的东西,描述了整体格局/最佳实践各部分大量的信息这个设计。

回答

1

你的问题是相当意见的基础......但我仍然会尽力帮忙。

首先,你可以,如果你使用https通过URL访问令牌,其不安全感。即使从移动应用程序登录Facebook,也不会仅在URL中传递访问令牌。如果你的意思是在http://something.com/access_token中有令牌,那么不是它应该如何完成。

如果你看看到的OAuth 2.0草案你就会明白,它通过设置一个标题授权取值为令牌和token_type完成。仔细看看草稿。

当你的解决方案,我认为它很好,如果你只是因为我在你的应用程序,进而从Facebook验证该令牌在每个请求中提到的首部发送的访问令牌使用问题中提到的第一种方法。 如果您认为这对于验证来自Facebook的每个请求的流程来说太长了,您可以通过从移动应用向服务器发送请求并让服务器处理访问令牌并将其存储在可以进行身份​​验证的数据库中每个请求。 无论如何看看Passport模块,它有Facebook和其他身份验证内置,应该足以满足您的需求。

相关问题