【问题标题】:Angular 5 get/post http with basic authentication [duplicate]具有基本身份验证的Angular 5 get/post http [重复]
【发布时间】:2018-06-16 13:34:22
【问题描述】:

我有以下代码在没有身份验证的情况下进行 get http 调用,一切正常。

让 headers2 = {'Content-Type': 'application/json'}; his.http.get('https://api.test.com/account/get/',headers2).map(res => res.json()).subscribe(data => { this.posts = 数据;});

但我不知道如何添加上述基本身份验证,就像这样(在 curl 中)但在 ionic 中:

curl --user admin:password -s -X GET "https://api.test.com/account/get/" -H "content-type: application/json"

无论我尝试什么,都会出现 401 身份验证错误。

谢谢

【问题讨论】:

  • 它不适用于角度......我试过这个 this.http.get('admin:password@api.test.com/account/get/',headers2).map(res = > res.json()).subscribe(data => { this.posts = data;
  • 不一样,我用的是基本认证,不是token。
  • 如果您阅读该问题,您会看到答案的最后一部分是关于令牌的......

标签: angular api ionic-framework https


【解决方案1】:

您可以通过在标题中附加基本授权来添加它,如下所示:

var headers_object = new HttpHeaders();
headers_object.append('Content-Type', 'application/json');
headers_object.append("Authorization", "Basic " + btoa("admin:password"));

const httpOptions = {
  headers: headers_object
};

【讨论】:

    【解决方案2】:

    我收到 401 错误...我使用过:

    让 headers = new Headers(); headers.append('授权', '基本'+ btoa('admin:password'));

    headers.append('Access-Control-Allow-Headers', 'Content-Type');

    headers.append('Access-Control-Allow-Origin', '*');

    headers.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS')

    let options = new RequestOptions({headers: headers}); this.http.get('https://api.test.com/account/get/',options).map(res => res.json()).subscribe(data => { ....

    结果……

    请求网址:https://api.test.com/account/get 请求方法:选项 状态码:401 未授权 远程地址:75.127.10.64:443 推荐人政策:降级时无推荐人 连接:保持活动 内容长度:590 内容类型:文本/html 日期:2018 年 6 月 16 日星期六 19:02:06 GMT 保活:超时=10 服务器:nginx WWW-Authenticate: Basic realm="Protected" 接受:/ 接受编码:gzip、deflate、br 接受语言:en-GB,en-US;q=0.9,en;q=0.8 访问控制请求标头:访问控制允许标头、访问控制允许方法、访问控制允许来源、授权 访问控制请求方法:GET 连接:保持活动 主办方:api.test.com 来源:http://localhost:8100 用户代理:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36

    【讨论】:

      猜你喜欢
      • 2019-05-05
      • 2017-11-16
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 2012-02-13
      • 1970-01-01
      相关资源
      最近更新 更多