1 | <?php |
||
23 | class TokenAuthenticate extends BaseAuthenticate |
||
24 | { |
||
25 | |||
26 | const TYPE_QUERYSTRING = 'querystring'; |
||
27 | const TYPE_HEADER = 'header'; |
||
28 | |||
29 | public $types = [self::TYPE_QUERYSTRING, self::TYPE_HEADER]; |
||
30 | |||
31 | protected $_defaultConfig = [ |
||
32 | //type, can be either querystring or header |
||
33 | 'type' => self::TYPE_QUERYSTRING, |
||
34 | //name to retrieve the api key value from |
||
35 | 'name' => 'token', |
||
36 | //db table where the key is stored |
||
37 | 'table' => 'users', |
||
38 | //db field where the key is stored |
||
39 | 'field' => 'api_token', |
||
40 | //require SSL to pass the token. You should always require SSL to use tokens for Auth |
||
41 | 'require_ssl' => true, |
||
42 | ]; |
||
43 | |||
44 | /** |
||
45 | * Authenticate callback |
||
46 | * Reads the Api Key based on configuration and login the user |
||
47 | * |
||
48 | * @param ServerRequest $request Cake request object. |
||
49 | * @param Response $response Cake response object. |
||
50 | * @return mixed |
||
51 | */ |
||
52 | 7 | public function authenticate(ServerRequest $request, Response $response) |
|
56 | |||
57 | /** |
||
58 | * Stateless Authentication System |
||
59 | * |
||
60 | * @param ServerRequest $request Cake request object. |
||
61 | * @return mixed |
||
62 | */ |
||
63 | 55 | public function getUser(ServerRequest $request) |
|
95 | |||
96 | /** |
||
97 | * Get the api key from the querystring |
||
98 | * |
||
99 | * @param ServerRequest $request request |
||
100 | * @return string api key |
||
101 | */ |
||
102 | 52 | public function querystring(ServerRequest $request) |
|
108 | |||
109 | /** |
||
110 | * Get the api key from the header |
||
111 | * |
||
112 | * @param ServerRequest $request request |
||
113 | * @return string api key |
||
114 | */ |
||
115 | 2 | public function header(ServerRequest $request) |
|
121 | } |
||
122 |