Отображаются предварительные заголовки - GET-запросы - PullRequest
0 голосов
/ 19 марта 2020

У меня проблема с моим мобильным приложением ioni c. Когда я строю свой проект в браузере, мои запросы правильно отправляют все заголовки, и аутентификация работает. Но если я на своем android устройстве, у меня нет никаких заголовков, и у меня есть «Предварительные заголовки показаны» на моем chrome отладчике.

отладчик chrome

Я использую HttpClient angular. У кого-нибудь есть идеи? Заранее спасибо ! :)

My ioni c info: ioni c info

EDIT 1: Мой подлинный запрос выглядит следующим образом: https://URL/url-login-api?login='+username+'&password='+password

Вот мой http сервис для метода GET:

public get(pageName, action, params2): Promise<any> {
      let headers = new HttpHeaders();
      let httpParams = new HttpParams();
      for (const item in params2) {
        httpParams = httpParams.append(item, params2[item]);
      }
      return this.http.request(
          'GET',
          this.host + HTTP_CONFIG[pageName][action].URL,
          {
              headers: headers,
              params: httpParams,
              withCredentials: !HTTP_CONFIG[pageName]  [action].PARAMS.withCredentials ? false : true
          }
          ).toPromise().then((resp) => {
           console.log("Response: ", resp)
           return (resp);
          });
     }

А вот как я вызываю мою http-службу для аутентификации:

this.httpServices.get("AUTH", "LOGIN", {login , password}).then((resp) => {
     const res = resp;
     this.events.publish("logged_in");
     const cookie = JSON.parse(res);
     let token;
     const ln = cookie.length;
     for (let i = 0; i < ln ; i++) {
        if (cookie[i].Key === ".DOTNETNUKE") {
          token = cookie[i].Value;
        }
      }
}

Вот метод бэкэнд-аутентификации, который они мне дали (у меня пока нет к нему доступа). Точно такой же метод работает в режиме браузера (с отправленным заголовком Set-Cook ie et c ...):

if (loginStatus != UserLoginStatus.LOGIN_USERNOTAPPROVED &&
                    loginStatus != UserLoginStatus.LOGIN_FAILURE)
                {
                    HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*");
                    HttpContext.Current.Response.AppendHeader("content-type", "application/javascript");
                    var coll = new List<KeyValuePair<string, string>>();
                    foreach (string cookie in HttpContext.Current.Request.Cookies)
                    {
                        var httpCookie = HttpContext.Current.Request.Cookies[cookie];
                        if (httpCookie != null)
                            coll.Add(new KeyValuePair<string, string>(cookie,
                                string.Join(",", httpCookie.Value)));
                    }
                    return Json.Serialize(coll);
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...