【问题标题】:How to communicate securely (with proper authentication) to a 3rd party api on the client?如何安全地(通过适当的身份验证)与客户端上的第 3 方 api 进行通信?
【发布时间】:2013-09-19 13:39:30
【问题描述】:

考虑网站使用付费分析包来跟踪用户在所述网站上的行为的用例。

在这种情况下,网站需要与分析提供商的 API 进行安全通信(所有客户端都通过 javascript)。

如何安全地做到这一点?根据我对各种身份验证协议的理解,始终需要一个秘密令牌来设置客户端和服务器之间的秘密握手。使用 oAuth1a,这一切都包含在 HMAC 等中,但仍然必须提供秘密。

鉴于:

  • 客户端必须在 javascript 中可以使用密码才能进行经过身份验证的调用
  • 客户端上的javascript显然可以被任何人检查

你会如何保守秘密?看来您不能,但是所有这些通过客户端 JS 进行通信的付费 3rd 方服务如何保证安全?

【问题讨论】:

    标签: javascript security authentication oauth client-side


    【解决方案1】:

    按照下面参考答案的规定,Google Maps API 似乎正在使用 HOST 标头执行此操作,显然 (?) 不能被欺骗。

    How does Google Maps secure their API Key? How to make something similar?.

    因此,拥有一个使用<apikey -> allowed HOST headers> 映射的服务器端映射就可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-23
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      • 2017-04-29
      • 2013-08-19
      相关资源
      最近更新 更多