【发布时间】:2017-03-26 09:21:52
【问题描述】:
我正在使用 Phil Sturgeon 和 Chris Kacerguis 的 Restful 服务器(请访问此处https://github.com/chriskacerguis/codeigniter-restserver)并且对 API KEYS 的使用有一个一般性的问题。我对 API 和概念非常陌生。
KEYS 是如何工作的?有一个名为 KEYS 的表定义如下:
| Default table schema:
| CREATE TABLE `keys` (
| `id` INT(11) NOT NULL AUTO_INCREMENT,
| `user_id` INT(11) NOT NULL,
| `key` VARCHAR(40) NOT NULL,
| `level` INT(2) NOT NULL,
| `ignore_limits` TINYINT(1) NOT NULL DEFAULT '0',
| `is_private_key` TINYINT(1) NOT NULL DEFAULT '0',
| `ip_addresses` TEXT NULL DEFAULT NULL,
| `date_created` INT(11) NOT NULL,
| PRIMARY KEY (`id`)
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在一个叫KEYS的类中有如下方法:
index_put() // key created. builds a new key.
index_delete() // Remove a key from the database to stop it working.
level_post() // Update Key. Change the level.
suspend_post() // Update Key. Change the level.
regenerate_post() // Regenerate key. Remove a key from the database to stop it working.
由于这个包没有很好的文档记录,而且我是 API 新手,以上如何工作?例如,我是否生成 1 个密钥并将其永久插入数据库。为什么有删除方法?
根据我的阅读,听起来我为应用程序生成了一个初始 X-API-KEY,然后当客户端使用资源时,我会使用 KEYS 类将 X-API-KEY 交换为另一个密钥。我也会删除它,但是什么时候? ...还是我的理解都搞砸了?
【问题讨论】:
标签: php rest codeigniter api restful-authentication