使用基本身份验证保护Slim-Rest

时间:2013-12-04 10:37:09

标签: php .htaccess rest slim http-basic-authentication

我是用PHP编写Rest-Apis的新手。所以我使用Slim-Framework作为我的API。 现在我想用HTTP-Basic-AUTH保护API。

我的第一个决定是使用htaccess和htpasswd执行此操作并在Header中发送凭据

curl_setopt($curl, CURLOPT_HTTPHEADER, array("Authorization: Basic " . base64_encode("test:test")));
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

这样工作,如果我更改用户或Pwd,服务器会抛出错误。

如果我在网上搜索确保Slim Rest Api,我总能找到像Slim / Extras / HttpBasicAuth.php这样的东西...... 我实现了这个,但我理解它有问题。 我还需要.htaccess和htpasswd文件,对吧?

如果是这样,使用HttpBasicAuth有什么好处?

通过jogi

1 个答案:

答案 0 :(得分:0)

如果使用Basic Auth Middleware for Slim,则不需要.htaccess或.htpasswd文件。您在代码中的某处包含凭据。类似的东西:

$app = new \Slim\Slim();

$app->add(new \Slim\Middleware\HttpBasicAuth(array(
    "path" => "/api",
    "realm" => "Protected",
    "users" => array(
        "root" => "t00r",
        "user" => "passw0rd"
    )
)));

$app->get("/", function() {
    echo "No password needed.";
});

$app->get("/api", function() {
    echo "API protected by password";
});

$app->run();