簡體   English   中英

從前端到后端簽名api調用

[英]signing api calls from frontend to backend

我正在為前端實現一種使用秘密密鑰與后端進行通信的安全方式。 后端是一項敏感服務(移動銀行)。

首先,我想到了JWT,但是基於令牌的方法有兩個缺點:

a)前端必須獲取令牌,這意味着它必須向后端發送一些身份驗證數據-如果前端可以做到這一點,那么任何人都可以做到這一點。

b)即使有某種安全的方式獲取令牌,任何人都可以啟動Chrome開發工具並在令牌未過期的情況下使用它。

因此,另一種方法是使用密鑰對來自前端的每個請求進行簽名。 已知該密鑰在后端和前端,並且前端被捆綁並丑化以保持密鑰秘密。 我們將請求URL及其有效負載連接起來,用密鑰對其進行加密,然后將結果哈希發送到標頭中。 后端獲取請求,進行相同的加密並比較標頭; 如果它們相等,則發出請求。

這使我想到三個問題:

  • 這真的意味着即使請求被監聽,也無法重現,除非url + payload相同。 有什么我想念的嗎?

  • 是否有實現此方法的JS庫? (或者也可能是后端的東西-我正在使用Django)

  • 有沒有更好的方法?

根據需要捆綁,如果授權請求的安全密鑰在js內,我將能夠取消丑化(美化)並獲取它。 使用SSL加密連接,僅使用JWT;)

http://jsbeautifier.org/

無論如何,您都將不得不授權用戶,因此這意味着發送私人數據以建立“會話”。 使其成為用戶名,電子郵件,密碼或某些“秘密”令牌。

暫無
暫無

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

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