REST身份验证,最佳方法

时间:2013-06-16 14:45:27

标签: codeigniter rest restful-authentication

背景

我们正在构建需要所有页面的登录信息的系统。该应用程序旨在使用 codeigniter 作为 Phil Sturgeon 库进行Restful应用程序。

情境: - 用户名和&用户调用任何页面时需要密码[客户端] - 在任何Api呼叫被触发时需要验证

我有点困惑如何迁移或执行上述方案,以及验证应用程序的方法是什么。

2 个答案:

答案 0 :(得分:2)

在RESTful API中对用户进行身份验证的一种简单方法是使用 HTTP Basic或Digest Auth 。在此设置中,用户凭据通过Authorization标头以username:password的形式作为Base64编码的哈希发送到服务器。 由于REST的原则规定客户端和服务器之间的通信应该是无状态的,因此客户端必须在每个请求上发送授权。实际上,这意味着您经常将凭据存储在客户端的会话中(因为您不希望用户在每个请求中输入其凭据)。请注意,您只能通过使用HTTPS的安全连接来执行此操作!

要对应用程序进行身份验证,您可以使用基于令牌的系统,例如API-Key。这意味着任何请求都将使用其他请求参数进行签名。如果应用程序的数量是有限且已知的,您也可以通过其IP来识别它们。

您还可以查看 OAuth

答案 1 :(得分:0)

请求每个页面的登录名和密码更合适,更安全(我在我的项目中所做的),在数据库中使用“虚拟”和存储会话可能是第二种解决方案,但不是很好,因为它将是DB的额外费用。

相关问题