6

我在谷歌上看到了关于 SO 的 2 个问题和几个主题,但这并没有帮助我

  1. 带有 Slim 的基于身份验证的 REST API
  2. 保护 REST API 和 Slim 框架

Slim 为您提供不同的方法,如 PUT、GET、POST 等。我想实现基本授权,就像由许多 API 实现的那样。第一个问题:SSL 有必要吗?(我目前没有)第二个问题:如何实现它?因为我必须以加密形式在标头中发送用户名和密码,然后在此之后我必须在每个 API 调用中使用此身份验证有什么帮助吗?

4

2 回答 2

7

您可以使用 Slim 身份验证和 XSS 中间件,例如 HttpBasic。因此,将 Extras 添加到您的 Slim 框架中:

https://github.com/codeguy/Slim-Extras/tree/master/Middleware

如何使用它?像这样:

use \Slim\Slim;
use \Slim\Extras\Middleware\HttpBasicAuth;

$app = new Slim();
$app->add(new HttpBasicAuth('theUsername', 'thePassword'));
于 2013-06-13T00:11:12.593 回答
1

您应该真正使用 SSL,因为您将通过 Internet 发送密码(或 API 机密)。如果未加密,则用户和服务器之间的任何人都可以窃取这些凭据。

没错 - 您将在标题中发送用户名/密码。有很多关于如何进行 http 基本身份验证的资源。例如,这个 SO question。您需要在每次调用时进行身份验证,因为您正在制作一个 RESTful API(即无状态,因此您不能拥有“授权”状态)。

我不确定您将如何获得用户名和密码,但我认为他们会在$app->request->headers()

于 2013-06-07T04:26:11.670 回答