服务器端的Facebook访问令牌

服务器端的Facebook访问令牌,facebook,facebook-graph-api,facebook-c#-sdk,facebook-ios-sdk,facebook-android-sdk,Facebook,Facebook Graph Api,Facebook C# Sdk,Facebook Ios Sdk,Facebook Android Sdk,我正在尝试创建一个服务器端访问用户的Facebook资源(照片/相册等)。 我希望用户使用其本机移动应用程序进行一次身份验证,并且服务器能够在无需用户交互的情况下访问用户数据 我正在努力理解我需要采取的步骤,以使它发挥作用 我读过Facebook的:但我不明白如何使用其中提出的场景-因为我的服务器与用户交互无关(我无法将用户重定向到某个登录对话框)-无论用户是否使用其移动应用程序,服务器都在后台执行自己的操作。例如,在令牌到期时我应该做什么 除此之外,我希望用户能够在手机上直接执行Faceboo

我正在尝试创建一个服务器端访问用户的Facebook资源(照片/相册等)。 我希望用户使用其本机移动应用程序进行一次身份验证,并且服务器能够在无需用户交互的情况下访问用户数据

我正在努力理解我需要采取的步骤,以使它发挥作用

我读过Facebook的:但我不明白如何使用其中提出的场景-因为我的服务器与用户交互无关(我无法将用户重定向到某个登录对话框)-无论用户是否使用其移动应用程序,服务器都在后台执行自己的操作。例如,在令牌到期时我应该做什么

除此之外,我希望用户能够在手机上直接执行Facebook操作,而无需服务器干预

在我看来,这是我所期望的流程:

  • 用户启动本机移动应用程序
  • 用户在本机移动应用程序上使用Facebook的SDK进行身份验证
  • 用户收到一个特殊令牌,该令牌可以在服务器端转换为访问令牌
  • 令牌将被发送到服务器并存储在那里
  • 如果服务器需要访问用户的Facebook数据,它将使用此特殊令牌并将其转换为访问令牌
  • 当令牌过期时,服务器可以使用特殊令牌进行扩展,而无需任何用户交互
  • 身份验证后,应将哪些数据从移动应用程序发送到服务器。服务器应该如何使用这些数据随时访问用户的Facebook资源


    我正在使用C#Facebook SDK作为服务器。但我认为这并不重要,我需要了解其中的机制。

    如果用户不继续使用该应用程序,令牌将过期。这是出于设计——如果用户停止使用应用程序,应用程序不应该继续访问用户的帐户

    当用户登录到您的应用程序时,将向您的应用程序提供一个令牌,以及该令牌的过期日期。您可以从客户端或服务器使用该令牌,直到该令牌过期。但是,如果用户不继续使用您的应用程序,服务器无法扩展令牌


    如果用户继续使用您的应用程序,您将有机会更新服务器令牌。例如,在Android和iOS SDK中,如果用户使用您的应用程序发出facebook请求,令牌将自动刷新。那时,您可以将刷新的令牌传输到您的服务器。

    我遇到了一个类似的问题,并通过将访问令牌发送到我的服务器来解决它,然后使用facebook服务器端sdk,我可以随心所欲地使用它,但是,令牌已经过期,不知道在过期之前它将存活多久。。。