我正在尝试将浏览器定向到其他页面.如果我想要一个GET请求,我可能会说
document.location.href = 'http://example.com/q=a';
Run Code Online (Sandbox Code Playgroud)
但是我试图访问的资源不会正常响应,除非我使用POST请求.如果这不是动态生成的,我可能会使用HTML
<form action="http://example.com/" method="POST">
<input type="hidden" name="q" value="a">
</form>
Run Code Online (Sandbox Code Playgroud)
然后我只需从DOM提交表单.
但实际上我想要允许我说的JavaScript代码
post_to_url('http://example.com/', {'q':'a'});
Run Code Online (Sandbox Code Playgroud)
什么是最好的跨浏览器实现?
编辑
对不起,我不清楚.我需要一个改变浏览器位置的解决方案,就像提交表单一样.如果使用XMLHttpRequest可以实现这一点,那就不明显了.这不应该是异步的,也不应该使用XML,所以Ajax不是答案.
我是OAuth2的新手,虽然研究仍然无法掌握,但我一直在努力解决这个问题.
为OAuth2创建JS客户端的难点在于您无法存储客户端密钥,因为它可以在浏览器中广泛访问.即在这个问题中,评价最高的评论说:
"我认为tokenSecret和consumerSekret参数应该是秘密的!下载到浏览器时它们怎么能保密?!!!"
因此,像hello.js或oauth.io这样的客户端OAuth2框架如何解决这个问题呢?我知道他们使用服务器端代理(知道ID和秘密)来处理他们的请求,但是客户端JS代码仍然需要以某种方式告诉代理人它是谁.那么是什么阻止任何人从我的网站上获取JS代码并代表我与代理交谈?
我还找到了适用于JavaScript的Google API客户端库.AFAIK那里的客户端代码没有传递秘密.我是否正确理解他们是通过预定义的OAuth响应地址来管理的?(以便始终通过预定义的HTTP地址返回令牌).因此,即使有人试图通过使用我的ID来冒充我的网站,令牌仍将返回我的网站?
也许我在这里混淆了一些不同的主题,关于这个主题的任何亮点都会受到赞赏.
如何在Java GWT应用程序中使用OAuth?特别是,我想使用此API获取Google Aps域中的用户列表:
http://code.google.com/googleapps/domain/profiles/developers_guide_protocol.html
我知道这听起来像一个问题,可能以前曾多次被问过,但我找不到任何关于如何实现上述API中描述的OAuth步骤的Java代码.
如果有人可以分享一些代码,或者指向正确的文档,我会很高兴.
我有一个具有"私有"REST API的应用程序; 从我自己的网页进行Ajax调用时,我使用RESTful URL.但是,这是不安全的,如果他们知道URL模式,任何人都可以进行相同的调用.
保护这些电话的最佳(或标准)方法是什么?如果我打算在将来发布API,或者我将两个单独的策略混合在一起,是否值得看看OAuth之类的东西?
我正在使用Google App Engine for Python和Tipfy.
forms ×1
google-apps ×1
google-oauth ×1
gwt ×1
hello.js ×1
http ×1
java ×1
javascript ×1
oauth ×1
oauth-2.0 ×1
post ×1
python ×1
rest ×1
submit ×1
tipfy ×1