因此,我的客户需要使用PHP的REST API,该API根据URL参数的条件提供输出

因此,现在基本上需要三个URL,并且已经完成了。

所以他们是

localhost/newapi/client/<AuthKey> - for authorizing

localhost/newapi/client/<clientid>/categories/ - to get all the categories

localhost/newapi/client/<clientid>/categories/<categoryid> - to get all items in a category

使用.htaccess作为精美的网址

因此,现在他要求将AuthKey需要添加到HTTP header 而不是URL。因此,AuthKey必须作为 header 传递,其余作为URL参数传递

所以我的问题是如何做到这一点。以及如何从请求中检索AuthKey?

欢迎任何有关此问题的教程或评论

最佳答案

您可以告诉客户端,当他请求您的api时,他会添加 header ,如下所示:

AuthKey:您的API身份验证 key
或者
token :您的API token

然后在你的PHP代码

$headers = getallheaders();
$token = $headers['Token'] or ['AuthKey'];

然后检查是否在数据库中的 key ,然后处理您的代码

笔记:
您的客户可以使用PHP cURL添加 header
curl_setopt($curl-handle, CURLOPT_HEADER, array(
'Token' => 'client-auth-token', //or
'AuthKey' => 'client-auth-token'
));

关于php - 头中的AuthKey,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30432132/

10-08 23:13