【问题标题】:authenticating with username and password through jquery ajax通过 jquery ajax 使用用户名和密码进行身份验证
【发布时间】:2012-11-15 11:00:18
【问题描述】:

是否有人对为什么我仍然收到以下代码块的 403 错误有任何建议。

$.ajax({
    url: "https://api.bitbucket.org/1.0/repositories/jeffreycwitt/privaterepository/tags",
    dataType: "jsonp",
    password: "password",
    username: "username",
    crossDomain: true,
    success: function
      (returndata){
        $.each(returndata, function(key, value){
          console.log(key)
    });
});

我正在尝试使用他们的 api 从托管在 bitbucket 上的私有存储库中检索信息。以下代码适用于公共存储库。但是,尽管我使用 jquery 设置“密钥”传递了正确的用户名和密码,但我无法获得在私有存储库上进行身份验证的请求。

我的代码是否有问题,或者 bitbucket 是否需要澄清他们希望如何接收用户名和密码值。 (我已经直接联系了他们,他们只会帮助我通过“curl”获得访问权限——我可以这样做:

curl --user username:password https://api.bitbucket.org/1.0/repositories/jeffreycwitt/privaterepository/tags

但是当我尝试通过 ajax 访问信息时,这并没有帮助。有什么建议吗?
谢谢。

【问题讨论】:

  • 你在服务器端使用什么语言? ,您从服务器进行身份验证,如果您愿意,可以向服务器发出 ajax 请求,然后服务器到服务器 auth 。您真的打算将用户名和密码留在 HTML 中吗?
  • 不——一旦我让它工作——我将对包含密码和用户名的 php 脚本进行单独的 ajax 调用——你有不同的建议吗?
  • 这就是你在 c# 中的做法 - 你可以转换为 PHP stackoverflow.com/questions/6696314/…
  • 您不能在 jsonp 请求中发送用户名和密码,原因与在包含 <script></script> 的 .js 文件时不能发送用户名和密码的原因相同
  • 这个(我试过了)怎么样api.jquery.com/jQuery.ajax $.ajax({ url: a_cross_domain_url, xhrFields: { withCredentials: true } });

标签: jquery ajax api jsonp


【解决方案1】:

我认为答案是需要一个Authorization Header,这是jquery和jsonp做不到的。

请参阅此链接了解我如何使用 php 脚本解决问题:stackoverflow.com/a/13612654/731085

【讨论】:

    猜你喜欢
    • 2018-12-19
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 2021-12-14
    • 2016-11-09
    相关资源
    最近更新 更多