2

我真的坚持理解将我为 Wordpress 构建的插件集成到 facebook 所需的步骤,以便它可以发布到目标用户的墙或他们的粉丝页面墙。

具体来说,我坚持理解 OAuth2 以及如何实现它。我对 REST 类型的 API 并不陌生,但似乎有些是在客户端身份验证级别完成的,有些是在服务器级别完成的,以满足我的需要。

这是场景:

WP Admin 下载并安装插件,访问 wp-admin 中的配置页面。创建一个 facebook 应用程序以获取 AppID 和 App Secret 并将它们粘贴到 wp-admin 页面的配置屏幕中的相关框中。这里需要身份验证和授权才能发布到墙上 需要不会过期的令牌,因此服务器可以永久地发布作为其功能的一部分而无需重新验证(当然,除非用户手动断开链接)。

这就是我陷入身份验证和授权部分的地方。

我有一个可见的用户可交互页面,用户单击该按钮以链接到 Facebook。

我是否将用户重定向到这里(将他们从 wp-admin 中带走)然后等待他们返回?

我知道 facebook 返回一个“代码”,然后我用它交换一个“令牌”——对吗?

从一些挖掘我发现我需要请求offline_access。

一旦我有了令牌,我认为我可以很容易地理解 Graph API,因为我只会在我想写一篇文章的每一点将凭据传递给 facebook。

我首先需要枚举用户是管理员的页面,然后允许 wp-admin 从列表中选择特定页面——我想这也在 Graph API 中。

请您帮助消除身份验证/授权系统的迷雾,我对 OAuth2 完全陌生,也从未接触过原始 OAuth。

理论上,当我在授权点的网络客户端中时,我可以使用 Javascript SDK 并使用 AJAX 来更新后端服务器?

提前致谢。詹姆士

4

1 回答 1

2

你的基本理解是正确的。您需要将用户从您的页面引导到 Facebook Authorization URL,让他们授予对您的应用程序的访问权限,以便它可以代表他们发布。作为该过程的一部分,您指定一个Callback URL,一旦他们授予对您的应用程序的访问权限,用户将返回到该位置。该过程的最终结果是将访问令牌返回给您的应用程序。

这是一个很好的资源,它准确地解释了正在使用的各种 OAuth 风格所涉及的内容(注意:Facebook 支持 OAuth 2.0):

https://github.com/Mashape/mashape-oauth/blob/master/FLOWS.md

如果您正在寻找使用 PHP 编码 Facebook OAuth 的帮助,您应该查看 Temboo 如何简化流程 - 详情请参阅以下链接:

https://www.temboo.com/library/Library/Facebook/OAuth/

(全面披露:我在 Temboo 工作)

于 2013-04-16T15:17:32.843 回答