【问题标题】:Dropbox. Storing access tokens in web storage保管箱。在 Web 存储中存储访问令牌
【发布时间】:2015-10-08 01:47:05
【问题描述】:

我正在使用 AngularJs 开发 SPA,它将与 Dropbox API 一起使用。我需要将保管箱访问令牌保存在网络存储或 cookie 中,但我不确定它是否安全。

是否有安全存储访问令牌的机制?

谢谢。

【问题讨论】:

    标签: angularjs dropbox dropbox-api jwt json-web-token


    【解决方案1】:

    DropBox 在您启动 oAuth 会话时为您提供的令牌可以安全地存储在浏览器的本地存储或 cookie 中。它是一个散列令牌,仅与您的应用程序 API 密钥一起使用。

    这是您的秘密应用程序密钥,不应存储在浏览器中。该密钥与您的 DropBox API 帐户相关联,并且只能在服务器端使用。

    密钥应该保密。我相信您会通过将 DropBox 存储在任何浏览器 JavaScript 中来验证其使用条款。其次,没有安全的浏览器端存储。

    https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/august/javascript-cryptography-considered-harmful/

    如果你想继续。有 JavaScript 的开源加密库。

    https://code.google.com/p/crypto-js/

    这是徒劳的,因为最终你只是用另一个密钥替换了一个密钥。在某些时候,您的 SPA 需要开始使用密钥解密某些内容,它将从哪里获得?

    【讨论】:

    • 如果您使用 OAuth 1,则第一段是正确的,但 Dropbox JS SDK 使用 OAuth 2,并且不涉及应用程序机密。将访问令牌存储在 cookie 或本地存储中(如 Dropbox JS SDK 所做的那样)当然没问题。 Cookie 通常授予对用户帐户的访问权限,与 OAuth 2 访问令牌的方式相同。安全要求类似(避免泄露给第三方)。
    • @smarx 您应该将其发布为答案。
    猜你喜欢
    • 1970-01-01
    • 2013-07-11
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 2012-07-18
    • 2020-11-26
    • 1970-01-01
    相关资源
    最近更新 更多