我爲我的應用程序使用node/express創建了一個簡單的REST api。我在前端使用AngularJS爲用戶提供頁面。nodejs - 私有REST API
我想添加的功能只能通過我的前端訪問API,任何人都不應該能夠對我的網站執行GET/POST
請求並獲取數據?
我可以用什麼策略來實現這個目標?
我爲我的應用程序使用node/express創建了一個簡單的REST api。我在前端使用AngularJS爲用戶提供頁面。nodejs - 私有REST API
我想添加的功能只能通過我的前端訪問API,任何人都不應該能夠對我的網站執行GET/POST
請求並獲取數據?
我可以用什麼策略來實現這個目標?
HTTP請求可以通過瀏覽器旁邊的許多其他方式格式化併發送到服務器(例如curl),因此任何服務器始終檢測到請求的正確來源都不能保證。
保護端點的基本方法是使用某種認證。提出請求的客戶必須提供唯一標識它的內容。 API應該在證明自己是真實的(通過登錄等)之後向客戶端提供令牌,並且將檢查所有後續請求以獲取該令牌。
如果我的客戶端是用AngularJS編寫的Web應用程序,任何人都可以查看源代碼和令牌,我該如何解決這個問題? 對不起,如果我的問題是業餘的。 – dopplesoldner
@dopplesoldner這就是爲什麼你加密它並將其存儲在一個用戶瀏覽器的會話存儲中的原因。 –
使用認證中間件?例如,[護照](http://passportjs.org/)。 – raina77ow
我不太明白如何將其整合到我的解決方案中,因爲我不想使用密碼等。 – dopplesoldner
您不必使用密碼等;有不同的認證策略。 – raina77ow