我想用AngularJS开发一个网站。在后端,我将使用Codeigniter REST框架。我有一些安全问题,我不想在没有修复它的情况下开始开发。
我不想使用类似api密钥的东西,因为它可以被客户端访问,我认为它不会保护我在api方面的方法。我正在考虑使用基于令牌的身份验证,但我不知道它是否适合我的情况。我是否需要为服务器的每个请求验证用户?或者仅仅使用api密钥用于后端端?此外,我计划将来在不同平台上使用此api应用程序。
我无法决定该怎么做。如果有人建议我,我将非常感激。
答案 0 :(得分:3)
然而,您可以使用API密钥 - 正如您所写 - 它是纯粹的保护和易于访问的价值 - 潜在的滥用者只需查看源或调查查询。
通常,REST API使用令牌进行保护。在会话的开头(不是传统意义 - 而是交互),客户端需要自我授权,如果一切正确,它将被赋予一个令牌。此标记应作为标题包含在所有需要保护的后续请求中。您可以在后端使用简单的过滤器,通过验证已发送的令牌是否有效来保护选定的端点。这是它的工作原理。