我真的被困在理解将我为Wordpress构建的插件集成到facebook中所需的步骤上,这样它就可以发布到目标用户的墙上或他们的粉丝页面墙上。
具体地说,我一直在理解OAuth2以及如何实现它。我对REST类型API并不陌生,但它似乎有些是在客户端身份验证级别完成的,有些是为了满足我的需求而在服务器级别完成的。
以下是场景:
WP Admin下载并安装插件,访问wp-admin内的配置页面。创建一个facebook应用程序来获得AppID和应用程序密钥,并将它们粘贴到wp-admin页面的配置屏幕中的相关框中。这里需要身份验证和发布到墙上的授权,因此需要非过期令牌,这样服务器就可以永久地将发布作为其功能的一部分,而无需重新验证(当然,除非用户手动断开链接)。
这就是我在认证和授权部分遇到困难的地方。
我有一个可见的用户可交互的页面,用户点击按钮链接到facebook。
我是否要将用户重定向到这里(将他们从wp-admin中移除),然后等待他们返回?
我知道facebook会返回一个“代码”,然后我会用它来交换一个“令牌”--对吗?
从一些挖掘过程中,我发现我需要请求offline_access。
一旦我有了令牌,我想我可以很容易地理解Graph API,因为我只需在我想要编写帖子的每个点将凭据传递给facebook即可。
我首先需要枚举用户是管理员的页面,然后让wp-admin从列表中选择一个特定的页面-我猜这也在Graph API中。
请你帮我弄清楚认证/授权系统,我对OAuth2完全陌生,也从来没有接触过原始的OAuth。
理论上,当我在授权点的web客户端时,我可以使用Javascript SDK并使用AJAX来更新后端服务器?
提前谢谢。詹姆斯
发布于 2013-04-16 23:17:33
你的基本理解是正确的。你需要引导用户离开你的页面,转向允许他们访问你的应用程序的Facebook Authorization URL,这样它就可以代表他们发帖了。作为该过程一部分,您需要指定一个Callback URL,一旦用户被授予对您的应用程序的访问权限,就会返回到该you。该过程的最终结果是将访问令牌返回给您的应用程序。
这里有一个很棒的资源,它确切地解释了正在使用的各种风格的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工作)
https://stackoverflow.com/questions/16027004
复制相似问题