【问题标题】:Facebook returning token as hash instead of part of the query stringFacebook将令牌作为哈希而不是查询字符串的一部分返回
【发布时间】:2018-04-10 23:42:50
【问题描述】:

我正在使用https://www.facebook.com/v2.10/dialog/oauth 端点获取访问令牌,以便代表我的用户发布。

我正在尝试遵循本指南:https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/

我的请求如下所示:https://www.facebook.com/v2.10/dialog/oauth?client_id=...&response_type=code%20token%20granted_scopes&redirect_uri=...

我得到以下回复:http://localhost:8000/?%2Fcallback&some=query#access_token=...&expires_in=6094

问题是为什么我将令牌和 expire_in 作为哈希(注意上面的 #)而不是查询字符串的一部分,以便我可以通过 PHP 的 $_GET 捕获它?我该如何解决这个问题?

【问题讨论】:

标签: php facebook facebook-graph-api facebook-oauth


【解决方案1】:

问题是为什么我将令牌和 expire_in 作为哈希(注意上面的 #)而不是查询字符串的一部分,以便我可以通过 PHP 的 $_GET 捕获它?我该如何解决这个问题?

参数response_type指定返回什么,见https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow#login

您可以选择是否希望将 code 作为 GET 参数返回,在哈希中返回 token - 或两者,对于可能在两者上都需要/a 令牌的客户端和服务器端应用程序,但会在服务器端,而不是通过 API 交换代码,而不是信任从客户端发送的令牌。您还可以询问用户接受的权限授予范围 - 对于需要知道是否授予某些基本权限的应用程序,这可以节省额外的 API 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 2018-10-17
    • 2014-06-19
    • 2021-02-25
    • 2014-02-03
    相关资源
    最近更新 更多