我目前正在开发一个 REST-API,它受 HTTP-Basic 保护,适用于开发环境。由于真正的身份验证是通过 token 完成的,我仍在尝试弄清楚如何发送两个授权 header 。
我已经尝试过这个:
curl -i http://dev.myapp.com/api/users \
-H "Authorization: Basic Ym9zY236Ym9zY28=" \
-H "Authorization: Bearer mytoken123"
例如,我可以禁用我的 IP 的 HTTP 身份验证,但由于我通常在具有动态 IP 的不同环境中工作,这不是一个好的解决方案。那么我错过了什么吗?
最佳答案
尝试使用此方法在 url 处推送基本身份验证:
curl -i http://username:password@dev.myapp.com/api/users -H "Authorization: Bearer mytoken123"
^^^^^^^^^^^^^^^^^^
如果以上方法不起作用,那么您与此无关。因此,请尝试以下替代方案。
您可以使用其他名称传递 token 。因为您正在处理来自您的应用程序的授权。因此,您可以轻松地将这种灵 active 用于此特殊目的。
curl -i http://dev.myapp.com/api/users \
-H "Authorization: Basic Ym9zY236Ym9zY28=" \
-H "Application-Authorization: mytoken123"
请注意,我已将 header 更改为Application-Authorization
。因此,从您的应用程序中捕获该 header 下的 token 并处理您需要执行的操作。
您可以做的另一件事是,通过 POST
参数传递 token
并从服务器端获取参数的值。例如使用curl post参数传递 token :
-d "auth-token=mytoken123"
关于rest - 基本 HTTP 和不记名 token 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22229996/