带有用户名和密码 ionic 4 的 Http get 请求

Http get request with username and password ionic 4

我正在尝试从我的 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);
})
}

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

更新

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

那样做

但还是报错

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

首先,如果您想在 it.There 上包含请求正文,我不建议您使用 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))
    );`
}

并且在您的服务器端,您将可以实现您的后端逻辑,并且 return 是适当的。响应正文到前端。


我不是信息安全方面的专家,但之前看过一些通过HTTPS发送密码的做法,如果确实是100%安全的话。事实证明,在某些情况下,攻击者仍然可以绕过这些协议。因此,一些 organisations/software 团队可能会对密码进行散列或加盐处理,而不是在请求正文中传输实际密码。您可能想了解更多相关信息 here! (致谢:@user3299591)