我在我的网站上使用Codeigniter。我如何为移动应用程序创建webservice。 我已经从GIT实现了Phill Sturgeon CodeIgniter RESTServer库,但我没有找到如何在我的API中添加安全性KEY。
答案 0 :(得分:0)
您必须配置它并创建数据表。我个人在rest config中使用此配置。
$ config ['rest_default_format'] ='json';
$ config ['rest_auth'] ='摘要';
$ config ['rest_realm'] ='Your_realm';
$ config ['auth_source'] ='图书馆';
$ config ['allow_auth_and_keys'] = TRUE;
$ config ['auth_library_class'] ='Someclass';
$ config ['auth_library_function'] ='某些功能';
如果您使用这种身份验证,您必须创建一个库和一个方法,它将在数据库中查询收到的用户和密码,并返回类似md5(用户名)的内容:md5(密码);
此外,您需要将.htaccess设置为接受此类http标头。
RewriteRule。* - [E = HTTP_AUTHORIZATION:%{HTTP:授权}]
另外,您的API安全密钥只是您生成的字符串。库会自动从您的密钥表中搜索它,但您必须创建它并在其余配置中启用它
$ config ['rest_keys_table'] ='钥匙';
$ config ['rest_enable_keys'] = TRUE;
密钥表模式:
创建表
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,
|主要关键(id
)
| )ENGINE = InnoDB DEFAULT CHARSET = utf8;