How can I generate an API Key in My own Controller

2020-06-29 07:57发布

问题:

Just want to mention that I am really a newbie in API development (concepts, structure, best practices) I am not nearly familiar with it at all, so please excuse my pathetic stupid question if you find it to be, I'm using Phil Sturgeon's REST API server, Curl Library, and REST API client here's my code:

in my controller application/controllers/make_key

function index(){
      $this->load->library('rest');
      $this->load->library('curl');
      $this->rest->put('https://www.myapplication.com/apifolder/key/X-API-KEY/FOO');
    }

- no response at all

where apifolder/key is the location of my key.php (from Phil Sturgeon's default example):

and note that I've also tried this via address bar:

https://www.myapplication.com/apifolder/key/X-API-KEY/FOO - returns ({"status":false,"error":"Invalid API Key."})

https://www.myapplication.com/apifolder/key?X-API-KEY=FOO - returns ({"status":false,"error":"Unknown method."})

and tried quite a lot more queries but none seem to be working, my only question is...

How can make this key.php work? my apologies for such a simple minded question thank you in advance

回答1:

see my self-accepted answer on my own qeuestion... Phils documentation does not provide this information. I had to dig into the library myself.

i ended up finding out the 403 forbidden was because i was not providing an api key to generate keys..
Kind of abiguous as Phil's documentation doesn't state that an existing api key is required before you can generate keys.. I simply created a bogus key in the table in the db and referenced that when calling /key/index?X-API-KEY=boguskey

CodeIgniter REST API Library Ajax PUT throwing 403 Forbidden