Http通过用户名和密码ionic 4

时间:2019-03-23 11:46:40

标签: angular api ionic-framework ionic4

我试图从ionic 4项目中获取请求,但我需要为此使用用户名和密码,否则会收到错误403

这是我的代码:

  constructor(public httpClient: HttpClient){
    this.items = this.httpClient.get('http://www.fostania.com/api/items/');
this.items.subscribe(data => {
  console.log('my data: ', data);
})
}

我应该在哪里添加用户名和密码?

UPDATE

试图像'http://username:password@www.fostania.com/api/items/'

那样做

但仍然给我错误

HttpErrorResponse {headers: HttpHeaders, status: 403, statusText: "Forbidden", url: "http://www.fostania.com/api/items/", ok: false, …}

1 个答案:

答案 0 :(得分:3)

首先,如果要在其中包含请求主体,我不建议您使用GET请求,虽然可能有一些解决方法,但可能与标准做法背道而驰。您应该改用POST请求。

接下来,如果要通过API请求发送敏感信息(例如密码),则绝对不安全协议通过HTTP发送纯文本密码。多亏了TLS / SSL加密,您应该改用HTTPS。

改为使用此:

getData() {
  .
  .
  .
  return `this.httpClient.post('https://www.fostania.com/api/items/', requestBody, httpOptions)
    .pipe(
      tap(data => console.log(data))
    );`
}

在服务器端,您可以实现后端逻辑,并返回适当的逻辑。响应主体。


我不是信息安全方面的专家,但是我以前已经阅读过有关通过HTTPS发送密码(如果确实确实100%安全)的做法。事实证明,在某些情况下,攻击者仍然可以绕过这些协议。因此,某些组织/软件团队可能会练习对密码进行散列或加密,而不是在请求正文上传输实际密码。您可能想详细了解here! (积分:@ user3299591)