2010-05-09 25 views
15

Web uygulamamda REST API formu yazıyorum. Uygulama CodeIgniter çerçevesi kullanılarak yazılmıştır. Uygulama iyi çalışıyor, ancak REST Kimlik Doğrulaması yapmaya takılıyorum. Temel Http Kimlik Doğrulaması'nın bir süre için yeterince iyi olacağını düşünüyorum. Genel API henüz planlanmamıştır.REST PHP'de Kimlik Doğrulama (CodeIgniter)

REST Kimlik Doğrulaması'nın nasıl gerçekleştirileceğine ilişkin herhangi bir kod örneği var, böylece kullanıcının kimliği doğrulandıktan sonra tüm korunan yöntemleri serbestçe arayabilirsiniz.

cevap

34

REST uygulamalarınızı geliştirmeyi kolaylaştırmak için bir REST Denetleyici yazdım. Bu konu hakkında NetTuts: Working with RESTful services in CodeIgniter numaralı telefondan okuyabilirsiniz.

+0

Bu çok kapsamlı bir öğretici gibi görünüyor, kesinlikle okuyacağım. – zidane

+0

Sadece Phil'in tutkusu, harika şeyler Phil, çok bilgilendirici! – k00k

+0

REST_Controller'da güvenlik altına alın! Bu harika, yine harika! – zidane

8

HTTPS kullanıyorsanız, Temel kimlik doğrulamayı kullanabilirsiniz ve bunu yapmak çok kolaydır. Tıpkı diğer SAPI modüllerini kullanarak eğer

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 

Ben mod_php kullanın sizin auth değişken adları belki farklı denetçiniz aşağıdaki kodu ekleyin.

+0

Yani her istekte düz kullanıcı adı ve parola şifrelemek için HTTP bir zorunluluktur. Teşekkürler! – zidane