首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DreamFactory和Ajax对jQuery进行基本身份验证

如何使用DreamFactory和Ajax对jQuery进行基本身份验证
EN

Stack Overflow用户
提问于 2019-11-22 13:03:48
回答 1查看 87关注 0票数 0

我试图通过ajax请求对DreamFactory进行基本身份验证,以获得一个SESSION_TOKEN (或JWT)。但是下面的代码失败。DreamFactory社区论坛似乎已经过时了,不能在那里发布我的问题。有人知道如何使用对DreamFactory的基本身份验证来执行正确的ajax调用吗?

代码语言:javascript
复制
$.ajax({ 
    url: 'https://<dreamfactory-server>/api/v2/user/session';
    async: true,
    type:'POST',
    dataType: 'json',
    contentType: 'application/json; charset=UTF-8',
    beforeSend: function(xhr) {
        xhr.setRequestHeader("Authorization", "Basic " + btoa('hhmeier@blabla.com'+':'+'secret'));
    },
    success: function(response){
        console.log("hello success");
    },
    error: function(err) {
        console.log("hello error " + err.responseText);
    }
});

执行此代码将显示此错误消息。

{“错误”:{“代码”:400,“上下文”:null,“消息”:“登录请求缺少必需的电子邮件。”,“status_code”:400}

登录似乎需要一个电子邮件地址来登录。因此,可以使用curl命令,并在正文中使用JSON格式的电子邮件和密码。这个调用工作,它返回一个SESSION_TOKEN,它通过DreamFactory在进一步的api调用中工作(只使用http进行测试,稍后使用https)。

curl -i -k -3 -X POST "http://<dreamfactory-server>/api/v2/user/session" -d '{ "email" : "hhmeier@blabla.com", "password" : "secret" }' -H "Content-Type: application/json"

使用基本身份验证执行curl命令时,会出现上述相同的错误。

curl -i -k -3 -X POST "http://<dreamfactory-server>/api/v2/user/session" --user hhmeier@blabla.com:secret -H "Content-Type: application/json"

虽然DreamFactory手册描述了基本身份验证的工作原理,但我无法使它工作。除了这个卷曲命令。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-28 20:10:11

curl命令失败的原因是您需要使用HTTPS。根据DreamFactory文档。

代码语言:javascript
复制
curl https://jdoe%40dreamfactory.com:secret@foo.com/api/v2/db/_table

此外,在Ajax调用中,需要进行GET调用才能获得端点。

代码语言:javascript
复制
$.ajax({ 
    url: url,
    async: true,
    type:'GET',
    dataType: 'json',
    contentType: 'application/json',
    beforeSend: function(xhr) {
        xhr.setRequestHeader("Authorization", "Basic "+btoa(username+':'+password));
    },
    success: function(json){
        ...
    },
    error: function(err) {
        ...
    }
});

如需进一步参考,请参阅本文- http://wiki.dreamfactory.com/DreamFactory/Tutorials/Basic_Auth

谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58994886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档