我最近开始玩Facebook JS SDK,通过oAuth获得FB用户的访问令牌。我的基本工作流程从我的页面开始,该页面提供了一个名为Login的链接。单击“登录”后,它会生成一个窗口(托管在Facebook上),用户可以在其中键入其FB凭据并批准我的Web应用程序。如果用户的凭据正确,则会将访问令牌发送回父窗口,这样我就可以通过Facebook Graph API访问其配置文件。
我不明白的是子窗口(FB上托管的FB登录页面)如何与父窗口(我的域)通信并传递访问令牌。我做了一些研究,你不能跨域使用window.opener传递数据,所以我想知道他们是如何实现这一点的。有什么想法吗?