【问题标题】:application that uses OAuth and javascript [closed]使用 OAuth 和 javascript 的应用程序 [关闭]
【发布时间】:2010-11-16 07:43:20
【问题描述】:

我计划创建一个使用 JavaScript 的应用程序,它需要使用 OAuth 来验证网站的用户。 谁能帮帮我?任何示例代码?我知道 Google Code Javascript OAuth 库,但我不知道如何实现它..

【问题讨论】:

    标签: 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 库。

    【讨论】:

    • 您能否发布一个如何对自定义 Google App Engine 应用程序进行身份验证的示例?我已经为此苦苦挣扎了 2 天。您的库似乎不支持 3 个回调 url,OAuthGetRequestTokenOAuthAuthorizeToken 和 'OAuthGetAccessToken`?
    【解决方案4】:

    如果您正在编写 Firefox(或其他 Mozilla)插件,请考虑使用 oauthorizer。我将它用于 goo.gl lite 的latest version。但是,我在 Mozilla 附加组件网站上确实遇到了一些问题,我目前正在解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 2010-10-31
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      相关资源
      最近更新 更多