簡體   English   中英

帶有Ajax調用的私有REST API

[英]Private REST API with Ajax call

如何僅授權我的應用程序使用我的REST API?

我在Java中有此代碼

$.ajax({
                type: 'DELETE',
                url : 'removeTest',
                data: { ... },
                beforeSend:function(){
                    ...
                },
                complete:function(){
                    ...
                },
                success:function(data, textStatus, jqXHR){
                    ...
                }
            });

此調用將使用PHP中的REST API從數據庫中刪除用戶。 問題是,每個人都可以使用POSTMAN(Chrome插件)刪除用戶。 如何保護我的REST API僅授權我的應用程序。

檢查HTTP_REFERER是否不夠。 有什么更好的辦法?

謝謝你的幫助

您在這里有幾種可能性。 通常,您可以授權用戶,應用程序或同時授權兩者。 這取決於您的應用程序要求。

驗證應用程序

要對應用程序進行身份驗證,您可以使用基於令牌的系統 ,例如API密鑰。 這意味着任何請求都將使用其他請求參數進行簽名。 例如,看看亞馬遜在其S3服務中執行此操作的方式 如果您的應用程序是唯一可以訪問其余API的應用程序,則可以選擇通過IP地址限制訪問權限。

如果將有多個用戶通過您的客戶端使用該服務,則可能還需要授權對某些功能的訪問。 例如:是否將允許每個用戶刪除任何資源? 如果答案是否定的,您必須實施

驗證和授權用戶

在RESTful API中對用戶進行身份驗證的一種簡單方法是使用HTTP Basic或Digest Auth 在此設置中,用戶憑證通過授權標頭以username:password的形式作為Base64編碼的哈希發送到服務器。 請注意,您僅應使用HTTPS通過安全連接來執行此操作!

此外,您還可以查看更復雜/復雜的實踐,例如OAuth

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM