2011-11-15 12 views
1

回過頭來,我們開發了一個Web應用程序,允許用戶放置和跟蹤訂單。我們現在想添加一個REST api來允許桌面軟件下訂單,檢查狀態等。在自定義滾動的php框架之上構建一個REST API

我已經在網上搜索了很多,以瞭解到哪裏可以前進。我最大的煩惱是身份驗證,無論是應用程序還是特定用戶的某些呼叫。

是否應將應用驗證數據作爲所有呼叫的標頭髮送? (我已經看過做類似於AWS' authentication的東西,但是如何訪問PHP中的Authentication標頭?或者我可以使用自定義標頭,例如X_MYAPP_AUTH。是不是很好的做法?)

對於用戶身份驗證,我應該讓它們通過用戶在每次通話中登錄憑證?或者在初次調用時生成某種用戶令牌?或者我應該做一個完整的OAuth類實現,但這似乎是一個很大的開銷。

我們會願意使用一個能夠與我們當前的框架一起工作的庫,但是我查看過的許多庫僅列出了apache兼容性,而且我們正在IIS7上運行。另外,我們會爲每個客戶部署這個api的sepearte實例,所以任何框架都需要輕鬆地重新部署。

回答

1

保持簡單,就像您通常在Web應用程序中執行的操作一樣。

當用戶啓動其桌面應用程序時,您可以使用用戶名和密碼調用登錄API方法,如果用戶成功登錄,您將返回用戶保留的會話令牌,直至過期。

此會話令牌用於將來用戶將執行的所有API調用f.x.下訂單或查看狀態。