簡體   English   中英

流星服務訪問令牌安全性的最佳實踐

[英]Best practice for security of Meteor service access tokens

關於如何從服務器到客戶端發布Meteor用戶帳戶的訪問令牌,已經有了一些很好的答案 我只是想知道從安全角度來看是否更好:

  1. 發布當前用戶的訪問令牌並從客戶端發出請求,或者
  2. 將令牌隱藏在服務器上,從那里進行API調用,然后將結果返回給客戶端?

如果這太主觀,請允許我重新表述一下,因為從安全角度來看,這兩種方法有什么區別?

Meteor的“無處不在的數據庫”理念向我暗示,發布私有數據應該是安全的,因為要發布的其他用戶數據也將被視為私有。 另一方面,令牌可用的位置越多,就可以竊取更多的向量。 您會推薦什么,還有更重要的考慮因素嗎?

編輯:我想另一個考慮因素是,至少對於Google的REST API,您需要傳遞應用程序的客戶端密鑰作為參數。 最好將其隱藏在最終用戶面前,這可能是支持從服務器發送請求的一個論據。

如果可能的話,最好完全避免將令牌發送給客戶端。 這是因為即使有很小的機會,您也可以避免某些惡意的工具欄/擴展名訪問您的JS並訪問令牌,這對用戶和您自己都是非常不利的。

您還可以控制訪問權限。

例如,如果它是facebook,並且您已將其發布到客戶端。 例如,可以使用您的應用名稱來更改其狀態。 在未公開令牌的服務器上,這是不可能的。

您也不會知道客戶端所做的更改,而您總是會在服務器上。

除非您的api具有某種“可發布的密鑰”,否則切勿將訪問令牌發送給客戶端。

通過服務器代理的方法在2中更好。

1.(幾乎是我能想到的唯一一個)的優點是,您可以通過API提供者對每個IP地址(例如twitter的水管)進行某種使用限制。

暫無
暫無

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

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