Rest API基本身份验证

时间:2012-04-25 09:23:11

标签: c# rest asp.net-web-api

当客户端尝试使用基本身份验证登录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。

1 个答案:

答案 0 :(得分:0)

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

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

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

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