0

我在my-example-domain.com發佈了一個SPA(基於Angular),並在my-example-domain.com/api公開了rest API(基於Laravel 5.3)。 所有API都是公開的,所以未經身份驗證的用戶可以使用我的Angular SPA並調用後端API。如何只允許我的SPA調用我的公共休息API?

我想只允許我的SPA調用我的後端休息API,例如,沒有人應該能夠通過休息客戶端/ curl調用我的休息API。

我該如何達到這個目標? 我需要在我的Laravel應用程序中設置什麼樣的身份驗證? 是Passport正確的方法?

+0

Laravel Passport是基於令牌的認證系統,是的,我會推薦使用它來滿足您的需求。偵察員是Laravel基於索引的搜索工具。 https://laravel.com/docs/5.4/passport – btl

+0

@btl謝謝你,Passport是一個了不起的圖書館,但Passport的哪些功能最適合我的情況? – trullallero

+0

個人訪問令牌。 https://laravel.com/docs/5.4/passport#personal-access-tokens – btl

回答

0

你不能。

您的客戶端向公衆開放。

它運行在瀏覽器中,因此它所做的所有HTTP請求都可以由其用戶(即所有人)檢查。

任何您試圖識別來自客戶端的請求都可以被任何人檢查和複製。

+0

csrf_token呢? – trullallero

+0

@trullallero - 這是您向任何要求提供的人放棄的標記,然後要求他們在下一個請求中包含這些標記。因爲任何人都可以要求購買,所以沒有使用客戶網站的人可以要求購買。 – Quentin

相關問題