0
我有一個連接到幾個API服務的ReactJs前端應用程序。其中一些API服務要求我在首次登錄時通過我的appId
和appSecret
。保持API憑證在React應用程序中保密
我目前有一個js
文件,它被縮小和捆綁,但我覺得我仍然將我的應用憑據暴露給精明的入侵者。
保護它們的正確方法是什麼?
我有一個連接到幾個API服務的ReactJs前端應用程序。其中一些API服務要求我在首次登錄時通過我的appId
和appSecret
。保持API憑證在React應用程序中保密
我目前有一個js
文件,它被縮小和捆綁,但我覺得我仍然將我的應用憑據暴露給精明的入侵者。
保護它們的正確方法是什麼?
我閱讀了評論,看到你仍然感到困惑,但更詳細的解釋是在評論中允許的空間超出了允許的範圍,因此發佈了更詳細的解釋作爲答案。
這個想法是,您使用您的服務器作爲所有請求和響應的代理。
這些不是處理這些交互的唯一方法,但它們是一些更常見的方法。情況1和情況2不同,因爲在情況1中,有一個客戶端(前端)需要從API獲取數據。 API的憑據通過僅由您的服務器存儲和使用來進行保護。在這種情況下,您可以選擇限制使用您應用的每個人的訪問權限,以及在您的應用上進行身份驗證的每個人(您必須實現登錄系統),僅限於已登錄且具有特定權限級別的用戶(您必須實現角色)。在情況2中,沒有客戶端應用程序,並且有人直接訪問您的API。您仍然需要對其進行身份驗證,因此您只需向其發送一次密鑰,並且每次發出請求時都會傳遞該密鑰。
[本文](http://billpatrianakos.me/blog/2016/02/15/securing-api-keys-in-a-javascript-single-page-app/)似乎有你想要的。 –
永遠不要在前端文件中放置祕密API憑據。通常你會希望後端處理數據傳遞給外部認證的API。 – Devon
有些人只是在這裏給出了一個很好的答案:https://stackoverflow.com/questions/46838015/using-api-keys-in-a-react-app –