首页 > 解决方案 > 在 Apache (API) 的 url 中传递凭据

问题描述

问题

我想在 url 中传递凭据以访问我的 Apache 服务器。

我的 .htaccess 设置为基本身份验证。

AuthType Basic

并显示一个身份验证窗口,我可以在其中输入凭据。一切都很好但是...

问题是 url 在脚本中并用于访问 API。

<script>
....
ocpu.seturl("//xx.xx.xx.xx/ocpu/library/base/R")
....
</script>

我试过的

我尝试使用以下方式传递凭据:

ocpu.seturl("//user:password@xx.xx.xx.xx/ocpu/library/base/R")

或者类似的东西

ocpu.seturl("////xx.xx.xx.xx?username=user&pass=password/ocpu/library/base/R")

但它不起作用。此外(如预期的那样),如果我在网络浏览器中输入凭据,例如

http://xx.xx.xx.xx?username=user&pass=password

它不起作用(意味着出现 Auth 窗口)。

不可能吗?还是我必须对凭据进行编码?

谢谢

标签: apacheauthenticationopencpu

解决方案


您是否尝试在身份验证标头中传递基本身份验证凭据?在纯 JavaScript 中,这可以通过以下方式完成:

var invocation = new XMLHttpRequest();
invocation.open("GET", url, true, username, password);
invocation.withCredentials = true;

推荐阅读