web-dev-qa-db-ja.com

REST認証PHP(CodeIgniter)

私はREST APIをWebアプリケーションから作成しています。アプリケーションはCodeIgniterフレームワークを使用して作成されています。アプリケーション自体は正常に機能していますが、REST認証の作成に固執しています。しばらくの間、基本的なHttp認証で十分だと思います。パブリックAPIはまだ計画されていません。

REST認証を実現する方法のコード例はありますか?ユーザーが認証された後、保護されているすべてのメソッドを自由に呼び出すことができます。

15
zidane

RESTコントローラーを作成して、RESTアプリケーションを簡単に構築できるようにしました。 NetTuts:RESTfulでの作業)ですべてを読むことができます。 CodeIgniterのサービス

38
Phil Sturgeon

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を使用していますが、他のSAPIモジュールを使用している場合は、認証変数名が異なる可能性があります。

8
ZZ Coder