簡體   English   中英

多個服務器中RESTful API的身份驗證

[英]Authentication for RESTful API in multiple servers

在開始之前,我想告訴我,我是構建RESTful API的新手,並且從未涉及任何身份驗證。

我想設置一個主服務器,該服務器將從客戶端獲取API請求(讓服務器IP /域為api.example.com)。 我希望能夠使用POST請求通過API密鑰將文件發送到服務器。 我可以通過哪些方式驗證主服務器中的API密鑰,然后根據API密鑰(如兩個類別0和1)將文件從那里再次發布到另一台服務器

如果該文件在客戶端服務器上公開可用,那么我是否只是將url發送到主服務器,然后將其傳遞到第二台服務器,然后再將文件下載到該服務器上,這是否很好? 一旦完成,客戶端也將不得不使用GET請求。

我正在考慮在主服務器上安裝wordpress以簡化注冊(編寫一個插件來為每個用戶生成api)。 這是個好主意嗎 ?

我已經看到了: Web API創建API密鑰

但是客戶端將是公共的(我將編寫的所有客戶端服務將是開源的,並且api本身是開放的,以供開發人員根據自己的需要進行開發。)因此,我認為使用任何方法對鍵進行哈希處理都可以顛倒,因為上市。 我只想使用一個大約30個字符的API密鑰及其電子郵件地址,並在主服務器中進行匹配。

編輯

我只是想出了一些辦法,但我不知道這是否是個好策略。 如果我可以要求用戶添加將向其發出請求的域,然后僅將一個API密鑰發送給服務器,以便服務器可以在APIKey和該域之間進行匹配,並且列出該密鑰,則繼續POST。

您可以使用HTTP標頭來實現身份驗證。 通常,用戶將對base64編碼包含頒發給他們的API密鑰的AUTH標頭。 服務器應用程序將從接收到的HTTP請求中解碼此API密鑰,並從數據源執行查找以驗證密鑰。

暫無
暫無

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

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