他の API に精通している場合は、共通のパターンに気付くでしょう。ユーザーが電子メールとパスワードを渡す認証方法をお勧めします。これにより、生成された一意の認証キーが返されます。認証キーはセッション ID のようなものです。Cookie がどのように機能するかを考えてみてください。次に、他のすべての API メソッドが $this->post('auth') をチェックする必要があり、各リクエストを処理する前に、これをセッション ハンドラー (データベースまたはセッション) と比較する必要があります。
たくさんのコードのようですね。いいえ。
すべてのモデルには、オーバーロードされたコンストラクターが必要です。
class MyAPIController extends Rest_controller
{
public function __construct()
{
parent::__construct();
if(!authCheck($this->post('auth'))){
returnFailedResponse();
exit();
}
}
次に、Phil Sturgeon の Web サイトの例のように、通常どおり API を記述します。
http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/
認証キーが有効であることをテストする authCheck を持つモデルを作成し、returnFailedResponse で 401 Unauthorized を返すメソッドを作成します。
別のコントローラーでは、「Auth」と呼び、上記のコンストラクターを使用します。
これで、API へのすべての呼び出しで、Auth のヘッダーを設定する必要があります。元。「認証: 12m34k23b」。