2015-06-22 136 views
1

我想用AngularJS开发一个网站。在后端我将使用Codeigniter REST框架。我有一些安全问题,我不想在没有解决它们的情况下开始开发。基于令牌的身份验证的REST API

我不想使用类似API密钥的东西,因为它可以被客户端访问,我认为它不会保护我的方法在API端。我想使用基于令牌的身份验证,但我不知道它是否适合我的情况。我是否需要验证用户对服务器的每个请求?或者仅仅使用api key作为后端就足够了?而且我打算将这个API用于未来不同平台的应用程序。

我不能决定该怎么做。如果有人指教我,我将非常感激。

回答

3

然而,您可以使用API​​密钥 - 如您所写 - 它是纯粹的保护和易于访问的值 - 潜在的滥用者只需查看源代码或调查查询。

通常REST API使用标记进行保护。在会话(不是传统含义 - 而是相互作用)开始时,客户端需要授权自己,如果一切都正确,它将被授予令牌。此标记应作为标题包含在所有需要保护的后续请求中。您可以在后端使用简单的过滤器,通过验证发送的令牌是否有效来保护选定的端点。这是它的工作原理。

+2

[JSON web token](http://jwt.io/)标准通常用于此目的,并且在大多数每个框架中都有实现。 –

+0

谢谢@MarkHughes。 – Opal

+0

谢谢你回答这个问题的家伙!我也发现这个[repository](https://github.com/sahat/satellizer)它可能对你有用。 –