REST API 使用基于令牌的身份验证
REST API with token based authentication
我想用 AngularJS 开发一个网站。在后端,我将使用 Codeigniter REST 框架。我有一些安全问题,我不想在没有解决这些问题的情况下开始开发。
我不想使用 api 密钥之类的东西,因为客户端可以访问它,而且我认为它不会保护我在 api 端的方法。我正在考虑使用基于令牌的身份验证,但我不知道它是否适合我的情况。我是否需要为服务器的每个请求验证用户?还是仅在后端使用 api 键就足够了?我还计划在未来将此 api 用于不同平台上的应用程序。
我无法决定要做什么。如果有人给我建议,我将不胜感激。
您可以使用 API 密钥,但是 - 正如您所写 - 它是纯粹的保护和易于访问的值 - 潜在的滥用者只需要查看源代码或调查查询。
一般来说,REST APIs 是用令牌保护的。在session(不是传统意义上的-而是交互)的开始,客户端需要对自己进行授权,如果一切正确,就会给它一个令牌。此令牌应作为 header 包含在所有需要保护的后续请求中。您可以在后端使用简单的过滤器,通过验证发送的令牌是否有效来保护选定的端点。这就是它的工作原理。
我想用 AngularJS 开发一个网站。在后端,我将使用 Codeigniter REST 框架。我有一些安全问题,我不想在没有解决这些问题的情况下开始开发。
我不想使用 api 密钥之类的东西,因为客户端可以访问它,而且我认为它不会保护我在 api 端的方法。我正在考虑使用基于令牌的身份验证,但我不知道它是否适合我的情况。我是否需要为服务器的每个请求验证用户?还是仅在后端使用 api 键就足够了?我还计划在未来将此 api 用于不同平台上的应用程序。
我无法决定要做什么。如果有人给我建议,我将不胜感激。
您可以使用 API 密钥,但是 - 正如您所写 - 它是纯粹的保护和易于访问的值 - 潜在的滥用者只需要查看源代码或调查查询。
一般来说,REST APIs 是用令牌保护的。在session(不是传统意义上的-而是交互)的开始,客户端需要对自己进行授权,如果一切正确,就会给它一个令牌。此令牌应作为 header 包含在所有需要保护的后续请求中。您可以在后端使用简单的过滤器,通过验证发送的令牌是否有效来保护选定的端点。这就是它的工作原理。