Я пишу REST API из своего веб-приложения. Приложение написано с использованием рамки CodeIgniter. Само приложение работает нормально, но я застрял в создании аутентификации REST. Я думаю, что базовая аутентификация Http будет достаточно хорошей в течение некоторого времени. Открытый API еще не запланирован.
Есть ли какой-либо пример кода, как достичь аутентификации REST, поэтому после аутентификации пользователя он может свободно вызывать все защищенные методы.
Я написал контроллер REST, чтобы упростить создание приложений REST. Вы можете прочитать все об этом в NetTuts: Работа с службами RESTful в CodeIgniter .
Если вы используете 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.