在Slim框架中创建基本身份验证

时间:2013-04-28 15:38:00

标签: php rest authentication basic-authentication slim

我在SO上看过2个问题,谷歌上有几个主题,但这并没有帮助我

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

2 个答案:

答案 0 :(得分:6)

您可以使用Slim Authentication和XSS Middleware,例如HttpBasic。 所以将Extras添加到Slim Framework:

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'));

答案 1 :(得分:1)

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

没错 - 你会在标题中发送用户名/密码。如何进行http基本身份验证有很多资源。例如,this SO question。您需要对每次调用进行身份验证,因为您正在创建RESTful API(即无状态,因此您不能拥有'授权'状态。)

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