Facebook Messenger:获取关联帐户

时间:2017-10-23 07:03:57

标签: facebook oauth oauth-2.0 access-token oidc

首先,我寻找facebook帐户的访问令牌。

我(或我的facebook messenger bot)需要链接的第三方帐户的访问令牌 该帐户已按照此处所述成功关联:https://developers.facebook.com/docs/messenger-platform/identity/account-linking

稍微偏离主题:我发现第一个不符合OIDC / OAuth2规范的问题是,给予 / authorize 端点的重定向URI 需要一个参数使用实际的授权代码 authorization_code ”而不是“code”。好的,好的我们不使用IdP的现成软件,所以我可以修复它。爱好。

现在,我已经习惯了亚马逊Alexa帐户链接,让亚马逊进行令牌管理,刷新等,并在每次请求时提供第三方访问令牌

但似乎没有Facebook。据我所知(不是通过文档,而是通过尝试和错误),对于Facebook Messenger,帐户链接在获得授权代码(并调用关联的webhook)后即可完成。 但是因为对于我的机器人的每个请求我都需要一个实际的访问令牌,所以这不会有太多帮助。

现在看起来好像我必须将我的机器人扩展为一个完整但非标准化的OAauth2 / OIDC客户端(包括令牌处理,刷新等)以及一些问题:

  • 如何检查重定向URI的有效性?
    • 应与初始请求中的相同
  • 如何验证authorization_code?
    • 请记住,通常这个机器人没有连接/访问IdP的数据库
  • 如何将此链接与特定的Facebook用户ID?

我现在的问题是,当我的目标是为OAuth / OIDC IdP使用标准化软件时,如何应对这种行为?有什么想法吗?

提前致谢 托马斯

修改 澄清“帐户链接”的含义:我对用户的Facebook帐户不感兴趣,我想访问该用户的第三方帐户(由我的实际服务提供)的信息。 例如,“我的tumblr帐户中有多少张图片”这样的调用将需要客户将tumblr帐户链接到此facebook messenger机器人。

为了进行比较:亚马逊的Alexa和Google Actions非常顺利。我只需输入客户端凭据和OAuth端点就可以了。如果用户成功链接了第三方帐户,我会按预期为每个查询获得一个访问令牌。

EDIT2:正如CBroe指出的那样,Facebook不支持这一点。实际上只能“链接”用户ID。

0 个答案:

没有答案