Providing an OAuth Javascript API
Providing an OAuth Javascript API
我正在建立一个网站,成为OAuth 2.0提供商,就像Facebook和Twitter一样。这两个站点都使您能够通过按钮"使用Facebook/Twitter登录",该按钮会打开一个身份验证对话框。用户登录后,该框将关闭,请求页面现在具有访问令牌。他们如何以不违反跨域策略的方式执行此操作?
似乎是Facebook JS SDK是从他们的服务器加载的,这是故意绕过x域限制吗?
此外,父窗口在什么时候收到访问令牌?是孩子寄的还是父母取的?
谢谢
这是
通过将值从子寡妇传递到父窗口来完成的。父窗口打开的每个子窗口都引用了他的父窗口,可以通过以下方式访问:
var parent = window.opener.document.document; // by this you have reference to parent DOM
var someParentElement = parent.getElementById("idOfParentDomElement"); // ex: accessing particular element on parent
因此,通过此操作,您可以通过访问父级将值传递给父级:
var childDiv = document.getElemntById("SomeChildDiv").innerHTML;
someParentElement.innerHTML = childDiv // passing html text to parent div
在此处阅读有关此内容的更多信息
接收访问令牌是 OAuth 流的一部分。通过oauth令牌被接收并传递到父窗口window.opener
然后window.close
由父窗口调用以关闭窗口。在此父级使用访问令牌之后。
编辑:评论后:
Facebook使用postMessage,iframe或flash功能来处理依赖于浏览器的跨域消息传递。它包括all.js
,这是一个关键文件,用于处理消息之间的文件。您可以在此处阅读有关其机制的更多信息
相关文章:
- 如何使用Google Sheets API+Javascript阅读电子表格
- 获取gmail-api-javascript中的主题行
- 熟练的API JavaScript函数
- 如何从 html 文档中调用 yahoo weather api javascript 函数
- 在Cordova/Phonegap中使用Google API javascript
- 我应该在Google Api javascript中进行什么更改,以便它只能显示印度城市,而不能落后于州和印度
- 如何使用google-api-javascript-client或“Contacts API版本3.0”从gmail导入
- 使用 API javascript 设置 AngularJS 模板
- 通过Twitter API javascript从时间线获取Twitter状态
- 为Google Matrix指定API密钥API Javascript检索用法
- 将HTML文本输入传递给Facebook API javascript调用
- php中的google API javascript代码
- 谷歌地图/地点API JavaScript-无法读取属性'setContent'的未定义
- HUE API JavaScript HTTP PUT请求返回;net::ERR_EMPTY_REPONSE”;
- 循环遍历分页的 API JavaScript
- 将内联 Youtube API JavaScript 代码移动到单独的文件
- 使用 LinkedIn API JavaScript SDK 获取电子邮件地址
- 如何使用Google Sheets API + Javascript更新电子表格
- 访问被拒绝的人 - LinkedIn API Javascript
- Web Audio API - Javascript 创建的 WAV 文件长度不正确且无声