我正在为网络项目编写API。为了识别API用户,使用了基本的身份验证。为了测试API调用,我可以使用curl命令行工具并编写如下内容:
curl -H "Authorization: Basic Tm9TY1hETjRGNjIwZ1FwcTZOMENjMHczSjJDTjFlcnM6VmhWM21kUHF1MkIyMjFDaWRKVE4odyYmbyRpTEBsM0U=" http://example.com/api/function
在测试服务器上,我们有HTTP身份验证。我已经上传了带有API功能的脚本,现在我不明白如何在测试服务器上调用API函数。我如何为HTTP身份验证提供用户名和密码,然后为API提供用户名和密码?
发布于 2015-01-05 23:37:26
基本上,您试图使用相同的方法在一行中执行两个身份验证。这不是这个认证协议所涵盖的场景--简而言之,您不能使用标准设置。
协议不能满足这种情况的原因是头冲突:第一个挑战将使用WWW-Authenticate
/ Authorization
头对,第二个挑战将在单个请求中使用。
允许双重身份验证的一种方法需要更改(可能不允许这样做):
最后一件事。我不知道这是行不通的:
curl --user "test:password" http://stan:uberflow@myserver.com
--user
和URL中的凭据都使用基本身份验证,因此它们是相互执行的。它可能取决于实现;在我的环境中,--user
优先。
1:我谨慎地避免使用安全协议,因为是不“非常”安全,它在HTTPS上提供了很差的保护。
https://stackoverflow.com/questions/27723146
复制相似问题