我正在尝试创建对用户 Facebook 资源(照片/相册/等)的服务器端访问。我希望用户使用其本机移动应用程序进行身份验证一次,并且服务器将能够在没有用户交互的情况下访问用户的数据。
我试图了解我需要采取哪些步骤才能使其正常工作。
我读过 Facebook 的:Login for Server-side Apps,但我不明白如何使用其中提出的方案——因为我的服务器与用户交互无关(我无法将用户重定向到某个登录对话框)——无论用户是否使用其移动应用程序,服务器都在后台执行自己的操作。例如,令牌到期时我应该怎么做?
更重要的是,我希望用户能够在移动设备本身上执行直接的 Facebook 操作,而无需服务器干预。
正如我所看到的,这是我期望的流程:
- 用户启动本机移动应用程序。
- 用户在本机移动应用程序上使用 Facebook 的 SDK 进行身份验证。
- 用户收到一个特殊的 token,可以在服务器端转换为access-token。
- 令牌将被发送到服务器并存储在那里。
- 如果服务器需要访问用户的 Facebook 数据,它会使用这个特殊的令牌并将其转换为访问令牌。
- 当令牌过期时 - 服务器可以使用特殊令牌扩展它,无需任何用户交互。
身份验证后应从移动应用程序向服务器发送哪些数据。服务器应该如何使用这些数据随时访问用户的 Facebook 资源?
我正在为服务器使用 C# Facebook SDK。但我认为这并不重要,我需要了解机制。