OAuth Ajax回调URL设计逻辑

时间:2011-07-04 01:44:39

标签: php jquery ajax oauth

我正在使用OAuth和PHP设计Google Contacts Import应用程序。我正在尝试计算初始请求页面如何与我的回调页面进行交互。

页面结构:

  1. 页面A:回拨页面

  2. 页面B:OAuth请求页面

  3. 过程:

    1. 用户点击页面A上的“导入联系人”,新窗口(页面B)打开并指向Google OAuth登录。

    2. 页面B包含交换OAuth令牌的脚本;一旦访问完毕,页面B弹出窗口关闭并将访问令牌传递给页面

    3. 页面A使用从页面B获取的访问令牌,提取Google XML数据,解析它,并通过AJAX刷新以显示已解析的联系信息。

    4. 现在,我只能与弹出窗口B页中的回调信息进行交互。我想要做的是从第B页到第A页的传递信息。

      我确定这需要某种AJAX编程,但是你能告诉我实现这一目标的一般设计逻辑吗?无需特定代码。

1 个答案:

答案 0 :(得分:1)

通信两个页面的一种方法是使用公共存储位置(服务器上的数据库),并使用setInterval()

定期在两个页面中提取数据
setInterval(function(){
  //Your AJAX code to get data from common database here
}, 1000); //1000 will make a request each second

如果你用window.open打开另一个窗口,另一种方法是在两个页面中都有全局javascript函数(默认为public),并从另一个页面调用它们。

网页A

var pageB = window.open("pageB");
function receiveDataFromPageB(data){
  //Do something with data
}
...
//This should be called when needed, for example to send the token
pageB.receiveDataFromPageA(some_data);

Page B

var pageA = window.opener;
function receiveDataFromPageA(data){
  //Do something with data
}
...
//This should be called when needed, for example to send the token back
pageA.receiveDataFromPageB(some_data);

我认为这将指导您能够在您的网页之间进行对话。 希望这可以帮助。干杯