Аутентификация REST в PHP (CodeIgniter)

Я пишущий REST форма API мое веб-приложение. Приложение записано с помощью платформы CodeIgniter. Само приложение хорошо работает, но я застреваю при создании Аутентификации REST. Я думаю, что основная Аутентификация HTTP будет достаточно хороша в течение некоторого времени. Общедоступный API еще не планируется.

Есть ли любой пример кода, как достигнуть Аутентификации REST поэтому после того, как пользователь аутентифицируется, он может свободно назвать все защищенные методы.

15
задан zidane 9 May 2010 в 07:30
поделиться

2 ответа

Я написал контроллер REST, чтобы упростить создание приложений REST. Вы можете прочитать все об этом на NetTuts: Работа с RESTful-сервисами в CodeIgniter .

38
ответ дан 1 December 2019 в 00:33
поделиться

Если вы используете 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

Я использую mod_php, имена ваших переменных auth могут отличаться, если вы используете другие модули SAPI.

8
ответ дан 1 December 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: