簡體   English   中英

如何安全地(通過適當的身份驗證)與客戶端上的第三方API通信?

[英]How to communicate securely (with proper authentication) to a 3rd party api on the client?

考慮一個用例,其中網站使用付費分析包來跟蹤用戶在該網站上的行為。

在這種情況下,網站需要與分析提供商的API安全地通信(所有客戶端都通過javascript)。

如何安全地做到這一點? 根據我對各種身份驗證協議的了解,始終需要一個秘密令牌來在客戶端和服務器之間建立秘密握手。 使用oAuth1a,所有內容都打包在HMAC中,依此類推。但是,機密仍然必須可用。

鑒於:

  • 密碼必須可用於javascript中的客戶端以進行經過身份驗證的調用
  • 客戶端上的javascript顯然可以被任何人檢查

您將如何保護秘密? 看來您做不到,但是通過客戶端JS通信的所有這些付費的第三方服務如何使事情安全呢?

如以下引用的答案所規定,似乎Google Maps API使用HOST標頭來執行此操作,而標頭(?)顯然無法被欺騙。

Google Maps如何保護其API密鑰? 如何做類似的事情?

因此,擁有一個使用<apikey -> allowed HOST headers>映射的服務器端映射將達到目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM