我正试图了解如何在我正在创建的网站API中实现安全性。让我解释一下我的应用程序的设计。
我正在编写在线发票应用程序,以允许用户创建,存储和发送发票。该应用程序分为两部分,用户输入的前端和查看其发票等...以及处理网站所有处理的后端(保存,更新数据等...)
我所坚持的是如何为我的网站实现某种安全性,以便用户输入用户名和密码,然后在后端进行身份验证,后端将知道哪个用户正在与之通话它(希望这是有道理的)
前端通过RESTful API与后端通信,但是当前端向API发送请求时,后端如何知道用户是谁以及是否允许用户访问API。
我的前端使用Backbone.js编写,并使用JSON与后端API通信。后端用CakePHP编写
答案 0 :(得分:2)
有几种API身份验证模式,您可以在此处阅读更多相关信息https://support.3scale.net/howtos/api-configuration/authentication-patterns,特别是“标准身份验证模式”部分
你基本上必须给用户一个秘密令牌,然后在API调用请求将该令牌发送到后端,这样你可以关联两端的用户
如果你像我一样想要节省所有的实施麻烦,你可以使用3scale免费帐户(http://www.3scale.net)为你管理身份验证,这样你甚至可以拥有访问控制权,限制API调用,等等。在此处查找更多详细信息:http://www.3scale.net/2012/06/the-10-minute-api-up-running-3scale-grape-heroku-api-10-minutes/
该示例使用ruby插件,但在GH github.com/3scale/3scale_ws_api_for_php
中也可以使用php。