![](/img/trans.png)
[英]Newbie to Express- how to make api calls from frontend JS to backend
[英]signing api calls from frontend to backend
我正在為前端實現一種使用秘密密鑰與后端進行通信的安全方式。 后端是一項敏感服務(移動銀行)。
首先,我想到了JWT,但是基於令牌的方法有兩個缺點:
a)前端必須獲取令牌,這意味着它必須向后端發送一些身份驗證數據-如果前端可以做到這一點,那么任何人都可以做到這一點。
b)即使有某種安全的方式獲取令牌,任何人都可以啟動Chrome開發工具並在令牌未過期的情況下使用它。
因此,另一種方法是使用密鑰對來自前端的每個請求進行簽名。 已知該密鑰在后端和前端,並且前端被捆綁並丑化以保持密鑰秘密。 我們將請求URL及其有效負載連接起來,用密鑰對其進行加密,然后將結果哈希發送到標頭中。 后端獲取請求,進行相同的加密並比較標頭; 如果它們相等,則發出請求。
這使我想到三個問題:
這真的意味着即使請求被監聽,也無法重現,除非url + payload相同。 有什么我想念的嗎?
是否有實現此方法的JS庫? (或者也可能是后端的東西-我正在使用Django)
有沒有更好的方法?
根據需要捆綁,如果授權請求的安全密鑰在js內,我將能夠取消丑化(美化)並獲取它。 使用SSL加密連接,僅使用JWT;)
無論如何,您都將不得不授權用戶,因此這意味着發送私人數據以建立“會話”。 使其成為用戶名,電子郵件,密碼或某些“秘密”令牌。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.