PHP中的REST身份验证(CodeIgniter)

zid*_*ane 15 php authentication rest codeigniter

我从我的Web应用程序编写REST API.应用程序使用CodeIgniter框架编写.应用程序本身工作正常,但我仍然坚持进行REST身份验证.我认为基本的Http身份验证在一段时间内已经足够好了.公共API尚未规划.

是否有任何代码示例如何实现REST身份验证,因此在用户通过身份验证后,他可以自由调用所有受保护的方法.

Phi*_*eon 38

我编写了一个REST控制器,使您的REST应用程序更易于构建.您可以在NetTuts上阅读所有相关内容:在CodeIgniter中使用RESTful服务.

  • 我知道这篇文章相当长,但它需要花费两周时间阅读吗?;-p (12认同)

ZZ *_*der 8

如果您使用HTTPS,则可以使用基本身份验证,这很容易.只需将以下代码添加到控制器,

   if (empty($this->input->server('PHP_AUTH_USER')))
   {
       header('HTTP/1.0 401 Unauthorized');
       header('HTTP/1.1 401 Unauthorized');
       header('WWW-Authenticate: Basic realm="My Realm"');
       echo 'You must login to use this service'; // User sees this if hit cancel
       die();
    }

    $username = $this->input->server('PHP_AUTH_USER');
    $password = $this->input->server('PHP_AUTH_PW');

    // Check username and password
Run Code Online (Sandbox Code Playgroud)

我使用mod_php,如果使用其他SAPI模块,您的auth变量名可能会有所不同.