我正在使用 PHP 5.4 构建一个 REST api,并且我正在放入我自己的自定义身份验证库。我正在密切关注 2-legged OAUTH 使用的格式。(参考:http ://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/ )
按照这个规范,我有几条需要随每个请求一起发送的元数据,以便我可以安全地对用户进行身份验证。
- AppId -> 这是为了验证谁在发送请求。还要知道使用哪个密钥来生成 HMAC 校验和服务器端。
- Timestamp -> 这是处理重放攻击的。
- 校验和 -> 这是一个 HMAC 哈希,以确保请求未被篡改。
- AccessToken -> 将在初始身份验证后与每个请求一起使用。
我只是想知道发送所有这些元数据的最佳做法是什么?
我正在考虑创建自定义标题并将这些东西发送到那里。这样我可以将这些数据与函数所需的实际参数分开,但我不确定这是最佳实践。
例如:MY-API-APP-ID:243242,MY-API-TIMESTAMP:123123123 等...
或者
所有这些东西都应该作为每个请求的参数传递吗?
GET 方法呢,它们应该放在查询字符串中吗?(?timestamp=12312312&appId=123123...)
谢谢!