Book Image

CakePHP 2 Application Cookbook

Book Image

CakePHP 2 Application Cookbook

Overview of this book

Table of Contents (20 chapters)
CakePHP 2 Application Cookbook
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Authentication API


When exposing features of your application via web services, you may want to control who has access. For this, you'll need to keep track of who is making the requests and allow these parties to authenticate themselves.

In this recipe, we'll look at how you can easily set up an authentication API, which persists the session through the use of an auth token.

Getting ready

We'll continue to build on our API from the previous recipes, adding a users table to control access to our services:

CREATE TABLE users (
  id INT NOT NULL AUTO_INCREMENT,
  username VARCHAR(20) NOT NULL,
  password VARCHAR(100) NOT NULL,
  token VARCHAR(32) DEFAULT NULL,
  ip VARCHAR(45) DEFAULT NULL,
  created DATETIME DEFAULT NULL,
  modified DATETIME DEFAULT NULL,
  PRIMARY KEY(id)
);

How to do it...

Perform the following steps:

  1. Create a file named AccessComponent.php in app/Controller/Component/ with the following content:

    <?php
    App::uses('Component', 'Controller');
    App::uses('Security', 'Utility');
    App...