0

(在 Facebook JavaScript API 中)的code属性有用吗?authResponse.signedRequest我正在生成一个这样的:

FB.login({ scope: "email" }, function(r) {
    console.log([
        function(d){ return d.split('.')[1]; },
        function(d){ return atob(d.replace('-', '+').replace('_', '/')); },
        JSON.parse,
        function(d){ return d.code; }
    ].reduce(
        function(acc, f) { return f(acc); },
        r.authResponse.signedRequest
    ));
});

文档是这样说的:

code:一个 OAuth 代码,可以通过后续服务器端请求交换为有效的用户访问令牌

…但该链接重定向到 Facebook 登录主页。我找到了此处/oauth/access_token记录的端点,但它需要一个参数,在这种情况下没有参数。redirect_uri

4

2 回答 2

0

正如CBroe 建议的那样,code此响应中的 似乎已被 JavaScript SDK 用于创建短期令牌。

于 2016-02-12T16:54:15.587 回答
0

我知道这有点像死灵颠簸,但对于任何偶然发现这一点的人来说......

您可以将代码发布到:

https://graph.facebook.com/oauth/access_token

在表单正文中,您需要:

client_id: your_app_client_id
client_secret: you_app_client_secret
grant_type: "authorization_code"
redirect_uri: ""
code: code_from_signed_request

空白的 redirect_uri 是关键。您必须提供一个空白字符串...省略该字段不起作用。

由于您需要提供客户端密码,因此您不想在客户端执行此操作。将代码发送到服务器上的某个方法以执行此操作,并将访问代码返回给您的客户端。

于 2022-02-03T09:57:01.397 回答