javascript - Dojo JsonRest 基本身份验证

标签 javascript rest dojo basic-authentication

我想使用 Dojo JsonRest 从 REST 服务读取 JSON 数据。 REST 服务需要用户名和密码作为基本身份验证字符串。一开始,我对这个字符串进行了硬编码。现在,我尝试了以下方法:

    var processStore = new JsonRest({
    target: "http://host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false,
    user: "test",
    password: "test"
    });

但这并没有奏效。因此我的问题是:如何使用 Dojo JsonRest 发送基本身份验证凭据?

最佳答案

您可以尝试以下两种方法之一:

1) 将用户名和密码放入目标网址本身,如下所示:

var processStore = new JsonRest({
    target: "http://username:password@host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false
});

如果用户名是电子邮件地址,则:

var processStore = new JsonRest({
    target: "http://useremail%40whatever.com:password@host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false
});

2)使用JsonRest的 header 属性:

var encodedLogin = "Basic " + window.btoa("username:password");
var processStore = new JsonRest({
    target: "http://host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false,
    headers: {
        Authorization: encodedLogin
    }
});

此解决方案对用户名和密码组合字符串使用 Base64 编码,然后使用“Authorization” header 参数发送。

关于javascript - Dojo JsonRest 基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22406958/

相关文章:

javascript - 在 ajax 查询中加载图像 (ASP.NET)

rest - 使用Teamcity REST API获取构建日志

java - POST 中的 Jersey @HeaderParam null

dojo - Dojo dnd目标和页面加载

javascript - 如何在 Javascript 中将类分配给跨度?

javascript - 如何配置 MathJax 以在 HTML 中呈现化学方程式?

wcf - .Net 3.5 堆栈的 REST API 有哪些选项

javascript - 2500 次请求后 Google map 出现 OVER_QUERY_LIMIT 错误

javascript - Dojo 折线图上的自定义标记/工具提示

javascript - 使用HTML5 canvas的所有浏览器中的无效混合结果