通过网址进行基本身份验证

时间:2014-01-21 18:03:16

标签: curl browser http-basic-authentication

我正在学习如何编写一个rest api,我可以从命令行卷曲并使用以下行获得预期的响应

curl -v -u username:pass -X GET http://api.mysite.com/user/1

但是当我尝试通过浏览器访问它时,我的api没有收到基本身份验证的用户名和密码。这对我不起作用

http://username:pass@api.mysite.com/user/1

我知道我的api没有获取用户名和密码,因为我检查了$ _SERVER ['PHP_AUTH_USER']并且它是空白的。

为什么我通过curl而不是通过浏览器接收凭据?

1 个答案:

答案 0 :(得分:0)

您不应该在URL中传递凭据,出于安全原因,这种方法在许多现代浏览器中已被弃用,它也从来都不是正式的。如果您正在寻找更便捷的开发/测试/使用API​​的方法,我建议您为Chrome安装此扩展程序:Dev HTTP Client

然后只需正确设置Authorization HTTP标头。维基百科是您的朋友,回答如何执行此操作:Basic Access Authentication - Client side