繁体   English   中英

Facebook登录-检测未使用PHP-SDK登录的用户

[英]Facebook login - detect user logged in without PHP-SDK

我已经根据https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/建立了用于Facebook登录的自定义登录流程...

如果access_token检索(交换访问令牌的代码)成功(没有GET错误),是否认为用户是facebook-valid-user-logged-in?

facebook access_token是用户唯一的东西,还是只能由“用户生成”的东西?

还是我应该尝试使用该access_token来检索用户信息,并在成功检查它之后(它具有许可要求的信息,例如电子邮件),然后才将其视为facebook-valid-user-logged-in?

PS:我不想使用Facebook PHP-SDK

如果您需要不使用官方SDK,那么我应该说您应该通过查询/me来验证检索到的令牌。

这是确保您正在处理有效令牌的最佳方法,因为当您将其用于请求时,该令牌已被Facebook验证。

如果您使用的令牌无效,则会收到类似以下的响应:

{
  error: {
    message: "Invalid OAuth access token.",
    type: "OAuthException",
    code: 190
  }
}

用户访问令牌对于每个用户每个应用程序都是唯一的。 每个应用程序将为同一用户返回不同的令牌。

应用程序访问令牌对于每个应用程序都是唯一的,不需要任何向Facebook的请求即可检索它们-它们只是app_id和app_secret之间的串联: app_id|app_secret文档中所述:

还有另一种方法可以调用Graph API,而无需使用生成的应用程序令牌。 拨打电话时,您只需将应用程序ID和应用程序密钥作为access_token参数传递即可:

http://graph.facebook.com/endpoint?key=value&access_token=app_id|app_secret

选择使用生成的访问令牌还是使用此方法取决于您隐藏应用程序秘密的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM