2017-10-11 39 views
-1

中爲Android應用程序創建安全API我正在爲我的網站使用Codeigniter。我如何爲移動應用程序創建web服務。 我已經從GIT實現了一個Phill Sturgeon CodeIgniter RESTServer庫,但我沒有找到如何在我的API中添加安全密鑰。如何在CI

回答

0

您必須對其進行配置並創建數據表。我個人在休息配置中使用此配置。

$ config ['rest_default_format'] ='json';
$ config ['rest_auth'] ='digest';
$ config ['rest_realm'] ='Your_realm';
$ config ['auth_source'] ='library';
$ config ['allow_auth_and_keys'] = TRUE;

$ config ['auth_library_class'] ='Someclass';
$ config ['auth_library_function'] ='某個函數';

如果使用這種身份驗證的,你必須創建一個庫,這將查詢數據庫用戶和收到pasword將返回這樣的MD5(用戶名)的方法:MD5(密碼);

此外,您需要設置您的.htaccess接受這種類型的http頭。 。

重寫規則* - [E = HTTP_AUTHORIZATION:%{HTTP:授權}]

也可以作爲您的API安全密鑰只是你從自動generate.The庫中搜索一個字符串你的密鑰表,但你必須創建它,並在你的休息配置啓用它

$ config ['rest_keys_table'] ='keys';
$ config ['rest_enable_keys'] = TRUE;

鍵表模式:

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 DE FAULT'0',
| is_private_key TINYINT(1)NOT NULL DEFAULT'0',
| ip_addresses TEXT NULL DEFAULT NULL,
| (11)NOT NULL,
| PRIMARY KEY(id
| )ENGINE = InnoDB DEFAULT CHARSET = utf8;