使用 OAuth 和 javascript 的应用程序 [关闭]
Posted
技术标签:
【中文标题】使用 OAuth 和 javascript 的应用程序 [关闭]【英文标题】:application that uses OAuth and javascript [closed] 【发布时间】:2010-11-16 07:43:20 【问题描述】:我计划创建一个使用 javascript 的应用程序,它需要使用 OAuth 来验证网站的用户。 谁能帮帮我?任何示例代码?我知道 Google Code Javascript OAuth 库,但我不知道如何实现它..
【问题讨论】:
【参考方案1】:这里有一个用于 OAuth 的 JS 客户端实现: https://developers.google.com/identity/protocols/OAuth2UserAgent
它包含让您运行的示例代码。基本上,你要做的是:
var url = "...";
var accessor =
token: "...",
tokenSecret: "...",
consumerKey : "...",
consumerSecret: "..."
;
var message =
action: url,
method: "GET",
parameters: ...
;
OAuth.completeRequest(message, accessor);
OAuth.SignatureMethod.sign(message, accessor);
url = url + '?' + OAuth.formEncode(message.parameters);
// send request to 'url'
...
干杯, 马蒂亚斯
【讨论】:
我认为 tokenSecret 和 consumerSekret 参数应该是秘密的!下载到浏览器后怎么能保密?!!! 例如使用 SSL。但是,是的,浏览器环境中的 OAuth 肯定存在安全问题。 1.0(a)。不过你说得很好。如果您也可以控制服务提供者,我建议您选择 OAuth 2,因为它简化了开发人员和协议实施者所面临的许多问题。 即使使用SSL,有什么区别?发出 SSL 请求并将响应保存到硬盘驱动器的人可以轻松读取所有内容。对于公共应用程序,任何人都可以提出这样的请求。在 JavaScript 中使用秘密变量是完全不安全的。 为什么?为什么“秘密”是用户的秘密。它与存储在 cookie 中的 session_id 没有什么不同。仅仅因为它被命名为“秘密”并不能让它成为每个人的秘密。【参考方案2】:上述安全问题可以通过YQL解决:http://derek.io/blog/2010/how-to-secure-oauth-in-javascript/
【讨论】:
至少在某种程度上。但随后您依赖于其他人的后端技术,而不是您自己的或不依赖 - 这是最初的目标。【参考方案3】:我编写了一个通用的 OAuth 2.0 javascript 库。
JSO Javascript OAuth 2.0 Library【讨论】:
您能否发布一个如何对自定义 Google App Engine 应用程序进行身份验证的示例?我已经为此苦苦挣扎了 2 天。您的库似乎不支持 3 个回调 url,OAuthGetRequestToken
、OAuthAuthorizeToken
和 'OAuthGetAccessToken`?【参考方案4】:
如果您正在编写 Firefox(或其他 Mozilla)插件,请考虑使用 oauthorizer。我将它用于 goo.gl lite 的latest version。但是,我在 Mozilla 附加组件网站上确实遇到了一些问题,我目前正在解决这个问题。
【讨论】:
以上是关于使用 OAuth 和 javascript 的应用程序 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 JavaScript 的服务器到服务器应用程序的 OAuth 2.0
iOS 的 Javascript UIAutomation 如何用于导航原生应用的 oAuth 流程?
JavaScript OAuth 使用 Twitter 登录