【问题标题】:creating Basic authentication in Slim framework在 Slim 框架中创建基本身份验证
【发布时间】:2013-06-13 08:11:12
【问题描述】:

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

  1. Authentication Based REST API with Slim
  2. Securing a REST API and Slim Framework

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

【问题讨论】:

    标签: php rest authentication basic-authentication slim


    【解决方案1】:

    您可以使用 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'));
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-05
        • 1970-01-01
        • 2020-03-02
        • 1970-01-01
        相关资源
        最近更新 更多