ionic 3 - HttpClient ответ показывает inn открытый текст или как отключить кеш httpclient - PullRequest
0 голосов
/ 16 мая 2018

Это для моего понимания я задаю этот вопрос.

Мой клиент говорит, что он может видеть ответ службы в папке кэша, если устройство имеет root / jailbreak. Я использую HTTPS.

   import { HttpClient, HttpHeaders, HttpEventType, HttpEvent  } from '@angular/common/http';

   APIBASEURL = "https://........"

   //MARK:- HTTP GET  method
   getServiceData(path: string) {
    var APIFULLURL = this.APIBASEURL + path;
    let headers = new HttpHeaders();
    headers = headers.set('Content-Type', 'application/json; charset=utf-8');
    headers = headers.set("Content-Encoding", 'gzip')
    headers = headers.set('Accept', 'application/json;charset=utf-8')
    headers = headers.set('Authorization', this.APIHeaderKey);
    headers = headers.set('Cache-control', 'no-cache');
    headers = headers.set('Cache-control', 'no-store');
    headers = headers.set('Expires', '0');
    headers = headers.set('Pragma', 'no-cache');

    //*****************Service Log ********************//
     console.log("==URL ===" + APIFULLURL);
    //*****************Service Log ********************//

    const req = new HttpRequest('GET', APIFULLURL,{
      headers: headers,
      reportProgress: true,
      withCredentials : true
    });

    return this.http.request(req).timeout(50000)

  }

  //MARK:- HTTP POST method
  postService(path: string, isLogin: boolean, serviceBody: any) {
   let headers = new HttpHeaders();
    headers = headers.set('Content-Type', 'application/json; charset=utf-8');
    headers = headers.set("Content-Encoding", 'gzip')
    headers = headers.set('Accept', 'application/json')
    headers = headers.set('Authorization', this.APIHeaderKey)
    headers = headers.set('Cache-control', 'no-cache');
    headers = headers.set('Cache-control', 'no-store');
    headers = headers.set('Expires', '0');
    headers = headers.set('Pragma', 'no-cache');


    var APIFULLURL =  this.APIBASEURL + path;

    //*****************Service Log ********************//
    console.log("==URL ===" + APIFULLURL);
    //*****************Service Log ********************//
    try {

      return this.http.post(APIFULLURL, JSON.stringify(serviceBody), { headers: headers, withCredentials : true} ).timeout(50000);

    } catch (error) {
      console.log(error);
      alert("Error" + error)
    }
  }

когда я вызываю службу API, httpclient сохраняет ответ в кеше. Я не сохраняю вручную в кеш или локальное хранилище.

Проблема заключается в том, чтобы сначала установить и получить доступ к приложению, затем сделать джейлбрейк / рутирование, перейти непосредственно в папку кеша и увидеть текст ответа службы.

Как я могу зашифровать это значение кэша? по моим сведениям, перед процессом HttpClient сохраните в кеше.

Подскажите, пожалуйста, как зашифровать ответ сервиса в кеше.

Это проблема с высоким уровнем серьезности в моем приложении.

Как отключить 'HttpClient, чтобы сохранить его в кеше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...