設定登入頁面透過存取限制從代理取得資料的身份驗證?

設定登入頁面透過存取限制從代理取得資料的身份驗證?

想像這樣的場景:您的客戶希望您在您為他們設定的登陸頁面上實現對外部 API 的呼叫。外部API基於合約和透過該合約獲得的API金鑰來運作;因此,您不得在fetch()前端呼叫中公開 API 金鑰。

因此,您現在有權實現一個充當中間伺服器的 Docker 實例,將您的 LPfetch()呼叫連接到外部 API,這樣,對於每個請求,您都會有以下流量:

client --> Docker container --> API --> Docker container --> client

為了仍然保持嚴格的安全性,我現在想知道對從客戶端傳入 Docker 容器的請求進行身份驗證的最佳方法。授權是透過 CSRF 令牌實現的,這些令牌在頁面載入時傳遞給客戶端;成功發布初始身份驗證。

鑑於登陸頁面沒有登入系統,且我們不能依賴非 HTTP/第三方 cookie,我想到只允許來自已部署登陸頁面網域的請求進入 Docker 容器;但我不知道 A)這是否可能(我想到了Acces-Control-Allow-OriginDocker 容器上的配置?),以及 B)這是否安全?我特別想知道 B),因為很容易偽造像引用頭這樣的東西,所以我想知道請求來源的網域是否也可以透過簡單的方式偽造?

如果我也理解正確的話,透過標頭提供的規則Access-Control-Allow-Origin僅在瀏覽器中強制執行,例如簡單的 HTTP 用戶端可以規避/忽略它;正確的?

我還考慮過基本身份驗證,但我更喜歡某種不會在客戶端程式碼中公開任何內容的身份驗證,因為在這種情況下我需要向 js 提供身份驗證令牌。

鑑於 Docker 容器在 apache 上運行,我認為此用例最嚴格的解決方案是限制對已部署 LP 的 IP 的訪問,透過,使用類似的東西。我知道這更像是存取限制與身份驗證;但我認為這是這個登陸頁面場景的最佳解決方案,它不會向客戶公開任何內容?

相關內容