簡體   English   中英

PHP:創建和使用REST和身份驗證

[英]PHP: creating and consuming REST and authentication

我打算創建一些簡單的REST Web服務,以供其他一些應用程序使用(所有內部應用程序,不面向Internet)。 由於某些原因,應用程序應與SSO(Windows,NTLM或其他)一起使用。 我的問題是如何在Web服務中進行身份驗證。

調用Web服務的應用程序不知道用戶密碼,因此我迷失了如何在無需用戶登錄的情況下針對REST進行身份驗證? 例如。 避免基本身份驗證

我希望避免登錄是因為用戶簡單易用,而不必在應用程序中處理密碼。 我有什么選擇? 我是否缺少明顯的東西?

這將是一個解決方案:創建令牌,將其傳遞給服務並將其存儲在數據庫中。 Web服務檢查令牌是否存在於數據庫中。 (到期處理?)

如您所述,最常見的解決方案是基於簡單密鑰或令牌的身份驗證。 這就是許多Google服務(例如地圖)的工作方式。 您只需在服務提供商上為每個使用者生成一個密鑰,然后將其存儲在數據庫中,並驗證所有呼叫均傳遞了有效密鑰。

更復雜的選項是HMACOAuth身份驗證。 考慮到您的情況,即僅在您的Intranet內提供服務,我想說要保持簡單,並進行單個密鑰身份驗證。

在上述情況下,我看不到需要處理到期時間。 但是,如果您想實現它,則可以

  • 在每個客戶端請求上,在服務器上生成基於時間戳的令牌
  • 在您對請求的回復中,還包括此令牌
  • 客戶應在后續請求中同時使用靜態API密鑰和動態令牌
  • 服務器應檢查令牌的生存期,並在必要時接受/拒絕請求。

暫無
暫無

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

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