0

当客户端尝试使用基本身份验证登录 API 时,服务器返回 API 密钥和共享密钥是否可以?例如,如果用户输入此链接http://api.example.com/authorize?auth=some_encoded_Base64_string,则响应将是:

Content-Type: application/xml
Date: Fri, 10 Nov 2006 20:04:45 GMT    
Transfer-Encoding: chunked
Authorization: apiKey;secretKey

使用这种方法会有问题吗?我想成为这样,因为 API 核心方法将只接受 APIKey 哈希,并且为了获得它们需要使用基本身份验证,因为它们是第一步。我暂时不会在这里使用 OAuth。

我正在为这个项目试用新的 ASP.NET Web API。

4

1 回答 1

0

HTTP 没有Authorization在响应中定义标头,因此如果您需要定义自定义标头,请使用X-前缀。

同样从设计角度来看,HTTP 标头将传递与调用正交的数据。您似乎正在尝试传递需要在有效负载中的一段数据,因此我会避免使用标头。

我会在有效载荷中传递这些数据。

如果您使用 SSL 并在 URL、HTTP 标头或有效负载中传递数据,它将是安全的。

于 2012-04-25T09:52:34.063 回答