前段时间我们开发了一个Web应用程序,允许用户放置和跟踪订单。我们现在想添加一个REST api,以允许桌面软件下订单,检查状态等。
我已经浏览了很多网页,以了解前进的方向。对于应用程序和某些特定用户来说,我的主要用途是身份验证。
应该将app身份验证数据作为所有呼叫的标头发送吗? (我看过像AWS' authentication那样的东西,但是如何在PHP中访问Authentication头?或者我可以使用自定义头,即X_MYAPP_AUTH。这是不好的做法吗?)
对于用户身份验证,我是否应该在每次呼叫时都通过用户登录凭据?或者在初始调用时生成某种用户令牌?或者我应该做一个完整的OAuth实现,但这似乎是很多开销。
我们愿意使用一个可以很好地使用我们当前框架的库,但是我看过的许多库只列出了apache兼容性,我们在IIS7上运行。此外,我们将为每个客户部署此api的sepearte实例,因此任何框架都需要易于重新部署。
答案 0 :(得分:1)
保持简单,按照常规方式在Web应用程序中执行。
当用户启动桌面应用程序时,您使用用户名和密码调用登录API方法,如果用户成功登录,则返回用户保留的会话令牌,直至其过期。
此会话令牌用于将来用户将执行的所有API调用,f.x。下订单或检查状态。